在我的Enyo應用程序中,我有一個VirtualRepeater
,它產生了包含各種文本顯示和IntegerPicker
的Control
。包含IntegerPicker的Flyweight VirtualRepeater
我有兩個問題轉發:
1)如果三排生產,單擊行1 IntegerPicker
和2 0行帶來了超過IntegerPicker
頂部的下拉選擇器UI
2)我使用setMax()
以最大值初始化每個IntegerPicker
。然而,如果三行的生產,在行0的IntegerPickers
和1將在第2行
相同最大值爲看起來好像正在創建僅一個IntegerPicker
和第一行上正在被使用。
我嘗試用Repeater
替換我的VirtualRepeater
,並更改了我的中繼行創建函數以返回包含IntegerPicker
的項目的新實例,而不是返回true。但是,這會產生錯誤:
warning:enyo.Component.addComponent():重複的組件名稱「itemName」違反了unique-name-under-owner規則,替換散列中的現有組件並繼續,但這是一個錯誤條件,應該修復。
看起來Repeater
需要內聯創建它們的代表,這似乎很不雅觀。
此代碼示例說明了這個問題:
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
秒的任意號碼?任何幫助感謝!