剣道UIのドロップダウンリストをdataBoundメソッドで使用して読み込み時に値を設定するときに問題があります。剣道UIドロップダウンリストdataBoundを使用して選択した値を設定した場合、クライアント側フィルタが機能しない
DataBoundメソッドで値を設定するのは、競合状態の失敗を防ぐために、トランスポートにドロップダウンリストのデータ項目が確実に返されるようにするためです。これは、以下の静的な例では示されていませんが、私のデータセットはトランスポートサーバーのサイドコールから来ています。
ドロップダウンリストのオプションフィルタを設定する:「startswith」は単純なクライアント側のフィルタ処理ではうまく動作しますが、dataBoundの使用により問題が発生します。これに関するほとんどのドキュメントはありませんが、ドロップダウンリストが初期化され、フィルタリングを含む任意のメソッドがそれに対してアクションをとるときにdataBoundが呼び出されます。
インスペクタツールにデバッガを配置することで、フィルタメソッドが機能していることを確認できました。次に、dataBoundメソッドが再度ヒットし、初期化された値に設定されました。効果は、フィルタが単に失敗したように見えるということです。
次の例を参照してください。問題を再現するには、ドロップダウンリストのフィルタ機能を使用して、 "Apple"と入力して何が起こるか観察します。
$("#dropdownlist").kendoDropDownList({
dataSource: ["Apples", "Oranges"],
filter: "startswith",
dataBound: function(e) {
$("#dropdownlist").data('kendoDropDownList').value("Oranges");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//kendo.cdn.telerik.com/2016.3.914/js/kendo.all.min.js"></script>
<link href="//kendo.cdn.telerik.com/2016.3.914/styles/kendo.nova.min.css" rel="stylesheet" />
<link href="//kendo.cdn.telerik.com/2016.3.914/styles/kendo.common.min.css" rel="stylesheet" />
<input id="dropdownlist" />
私は初期設定上、またはさらにそれによって、フィルタリング後にデータバインドされたコールを回避なし伝播するために、フィルタのための唯一の火災へのデータ・バインドのための方法が必要です。