私のEnyoアプリには、さまざまなテキスト表示を含むsVirtualRepeater
とを生成するがあります。Control
IntegerPicker
このリピーターには2つの問題があります。
1)3つの行が生成された場合、行1と2をクリックすると、行0IntegerPicker
の上部にドロップダウンピッカーUIが表示されます。IntegerPicker
2)をIntegerPicker
使用してそれぞれを最大値で初期化しsetMax()
ます。ただし、3つの行が生成された場合、IntegerPickers
行0と1の最大値は行2の最大値と同じになります。
IntegerPicker
1つだけが作成され、最初の行で使用されているように見えます。
をに置き換えてみましVirtualRepeater
たが、リピーター行の作成関数を変更して、trueを返す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
アプリで任意の数のを作成するにはどうすればよいですか?助けていただければ幸いです。