2012-01-01 2 views
1

Мне нужно приложение для отображения кнопок, созданных во время выполнения. Причина в том, что я получаю информацию от службы, чтобы узнать, сколько кнопок мне нужно.Как создать кнопки во время выполнения в Enyo?

В настоящее время программа запускается, но кнопки не отображаются.

Я пытаюсь использовать панель инструментов и установить свойство управления в функции create. Программа работает нормально, но на моей панели инструментов нет кнопок? Есть ли способ сделать это?

код:

// Trying to create buttons at run time 
name: "MyApps.MainApp", 
kind: enyo.VFlexBox, 
components: [ 
     {kind: "PageHeader", content: "Template"}, 
     {kind: "Toolbar", name: "tabsted"}, 
     {name: "feedUrl", kind: "Input", flex: 1}, 
     {kind: "HtmlContent", name: "comments", content: "hello world <br> and another lin"}, 
     {name:"curValue", content:("Sample Text \r\n and more")}, 
     {kind: "Button", caption: "Action", onclick: "btnClick"}, 
], 

// this gets called first ha 
create: function() 
{ 
    this.inherited(arguments); 

    this.$.tabsted.components= [ 
      {caption: "a"}, 
      {caption: "b"}, 
      {caption: "c"} 
    ]; 

    this.LoadCommments(); 
    }, 

    LoadCommments: function() 
    { 
     this.$.comments.content="fred"; 
    }, 

    // called when button is clicked 
    btnClick: function() 
    { 
     this.$.curValue.setContent("Put some text here"); // handle the button click 
    } 
}; 

ответ

2

Вы хотите взглянуть на документацию API для Enyo.Component. В частности, раздел по созданию компонентов динамически. Попробуйте следующие изменения в код:

this.$.tabsted.createComponents([ 
     {caption: "a"}, 
     {caption: "b"}, 
     {caption: "c"} 
    ], {owner: this}); 

Кроме того, в LoadComments функции вы хотите позвонить «setContents» вместо того, чтобы пытаться непосредственно изменить значение содержания.

+0

Привет, мне холодно не очень хорошо api documentaion для компонента enyo, я отправился на https://developer.palm.com/content/api/index.html, не могли бы вы дать мне ссылку, –

+0

Попробуйте эту ссылку: https : //developer.palm.com/content/api/reference/enyo/enyo-api-reference.html#enyo.Component Однако документы в моем установочном каталоге SDK больше связаны с динамическим созданием. – Pre101

+0

Я только что отредактировал этот ответ, чтобы включить настройку объекта владельца должным образом. Как показал ваш другой вопрос, я оставил это. – Pre101

Смежные вопросы