2

Knockout-sortableを使用してテーブル内のレコードをドラッグ アンド ドロップ/ソートしていますが、問題が発生しました。要素のソート インデックスの位置を追跡する方法がわかりません。(つまり、要素 A、B、および C はこの順序で表示され、それぞれインデックスとして 1、2、3 を持ちますが、B が A の上にドロップされた場合、正しいインデックスは 2、1、3 になります)

私のコードにはカスタムはありません。ノックアウトソート可能を含めるだけで、プラグアンドプレイです。私は通常、常にコード スニペットを含めますが、それが役立つとは思いません。私が知っている唯一のことは、おそらく が必要になるということですが、ko.computed()何を入力すればよいかわかりません。

4

1 に答える 1

2

http://jsfiddle.net/rniemeyer/Jr2rE/の例を見ると、監視可能なデータ配列を更新することでプラグインが機能することがわかります。このため、インデックス値を追跡する必要はありません。技術的には、レコードの順序によって、必要なすべての情報が得られます。

そうは言っても、私は昨年同じ問題に遭遇しました。私の問題を解決するために、監視可能な配列内の各オブジェクトに連続番号のインデックス プロパティを追加しました。次に、並べ替え可能なプラグインが監視可能な配列の内容を再配置したときに、並べ替え順序を知るために新しいインデックス プロパティを読み取る必要がありました。

于 2012-10-16T08:35:27.793 に答える