在我的 Enyo 应用程序中,我有一个VirtualRepeater
生成Control
包含各种文本显示的 s 和一个IntegerPicker
.
这个中继器有两个问题:
1) 如果生成了三行,单击第1 行和第 2 行会在第 0 行IntegerPicker
的顶部弹出下拉选择器 UI 。IntegerPicker
IntegerPicker
2)我使用最大值初始化每个setMax()
。但是,如果生成三行,则第IntegerPickers
0 行和第 1 行中的最大值将与第 2 行中的最大值相同。
看起来好像只有一个IntegerPicker
正在创建并在第一行使用。
我尝试将 my 替换VirtualRepeater
为Repeater
,并更改了我的转发器行创建函数以返回包含 的项目的新实例IntegerPicker
,而不是返回 true。但是,这会产生错误:
警告:enyo.Component.addComponent(): Duplicate component name "itemName" 违反 unique-name-under-owner 规则,替换散列中的现有组件并继续,但这是一个错误情况,应该修复。
似乎Repeater
s 需要内联创建他们的代表,这似乎很不雅。
此代码示例说明了问题:
enyo.kind({
name:"Test",
kind:enyo.Control,
components: [
{
kind: "VirtualRepeater",
onSetupRow: "setupRow",
components: [{
name: "theIP", kind: "IntegerPicker", min:0
}]
}
],
setupRow: function(inSender, inIndex) {
if (inIndex < 3) {
this.$.theIP.setMax(inIndex);
return true;
}
return false;
}
});
如何IntegerPicker
在我的应用程序中创建任意数量的 s?任何帮助表示赞赏!