サーバー フィルタリングを使用して、剣道の複数選択コントロールでアイテムを選択する機能を実装しようとしています。ユーザーが選択した項目でタブを押したとき。kepdown イベントのコードは次のとおりです。
if (e.keyCode === 9) {
var selectedItem = multiSelect.current();
if (selectedItem) {
var selectedIndex = selectedItem.data("idx");
if (selectedIndex >= 0) {
var currentValue = multiSelect.value().slice();
var dataitems = multiSelect.dataSource.view();
var selectedDataItem = dataitems[selectedIndex];
multiSelect.dataSource.filter({});
currentValue.push(selectedDataItem.relatedId);
multiSelect.value(currentValue);
multiSelect.trigger("change");
}
}
}
しかし、同じデータ ビューで検索している限りは問題なく動作します。たとえば、Cloud で始まる 2 つの値を選択し、次に App で始まる値を選択すると、剣道は Cloud で始まる前の 2 つの値を削除し、コントロールには値が 1 つだけ含まれます。最後に選ばれました。
kendo の関数 _index で問題が発生している kendo のコードをデバッグしました。
http://dojo.telerik.com/OtAviで問題を再現しました。