私のEnyoアプリでは、があり、さまざまなテキスト表示とIntegerPicker
を含むControl
が生成されています。IntegerPickerを含むFlyweight VirtualRepeater
私はこのリピータを有する2つの問題を抱えて:三列が生成される場合、行1および2にIntegerPicker
をクリックすると、行0におけるIntegerPicker
の上にドロップダウンピッカーUIをもたらす
1)
2)setMax()
を使用して、最大値で各IntegerPicker
を初期化します。しかし、3つの行が生成された場合、0行目と1行目のIntegerPickers
は2行目と同じ最大値を持ちます。
IntegerPicker
が作成されており、最初の行で使用されているように見えます。
私はVirtualRepeater
をRepeater
に置き換えようとしましたが、真を返す代わりにIntegerPicker
を含むアイテムの新しいインスタンスを返すようにリピータの行作成関数を変更しました。ただし、これによりエラーが発生します:
警告:enyo.Component.addComponent():重複したコンポーネント名 "itemName"がハッシュの既存のコンポーネントを置き換えて継続するが、これはエラーです固定しなければならない。
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
の任意の数を作成することができますか?どんな助けにも感謝!