gpt4 book ai didi

javascript - 无法在 Enyo 中动态添加组件(按钮)

转载 作者:行者123 更新时间:2023-11-28 20:28:18 25 4
gpt4 key购买 nike

我在 Enyo 中使用窗口 View ,它基本上从数据库中获取数据,并基于编号。获取项目后,会动态创建多个按钮。单击任何按钮时,都会再次调用数据库以获取其他项目集。获取的项目需要作为按钮动态添加到

    项目中。这是由代码完成的 -

    testPOSView : function(inSender, inEvent) {
    var data = inEvent.data;
    console.log(data.tables);
    enyo.forEach(data.tables, function(table) {
    console.log(table);
    this.$.sectiontablebar.createComponent({
    kind : 'OB.OBPOSPointOfSale.UI.TablesButton',
    button : {
    kind : 'OB.UI.Section',
    content: table.tableName,
    id: table.tableId
    }
    });
    }, this);
    }

    但是当我单击按钮时,我从数据库获取结果,但它们没有添加到sectiontablebar组件中。

    该文件的完整代码可以@ https://gist.github.com/sangramanand/ad665db9cd438001254a获取

    如有任何帮助,我们将不胜感激。谢谢!!!

最佳答案

我不确定这是的实现方式,但是当我动态创建子组件时,我将 this.render() 添加到函数的末尾。这将呈现组件,从而显示动态添加的内容。

如果我要重写你的代码,我会这样做:

testPOSView : function(inSender, inEvent) {
var data = inEvent.data;
enyo.forEach(data.tables, function(table) {
// create the sub-component in "this"
this.createComponent({
// and assign the container
container: this.$.sectiontablebar,
kind : 'OB.OBPOSPointOfSale.UI.TablesButton',
button : {
kind : 'OB.UI.Section',
content: table.tableName,
id: table.tableId
}
});
}, this);
this.render();
}

关于javascript - 无法在 Enyo 中动态添加组件(按钮),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com