0

特別なことは何もせずに複数選択ウィジェットを拡張しました。問題は、値のバインドが機能しなくなったことです。最初のサンプルでは、​​ネイティブ ウィジェットを使用して値を適切にバインドしています。2 つ目は、値バインディングで失敗して空白になる拡張複数選択を使用する場所です。

HTML:

<selectdata-role="multiselect"data-bind="source: selectData, value: selectedIDs"data-text-field="Name"data-value-field="ID"></select>
<selectdata-role="multiselectcustom"data-bind="source: selectData, value: selectedIDs"data-text-field="Name"data-value-field="ID"></select>

Javascript:

//EXTEND MULTISELECT WITH NOTHING MUCH
kendo.ui.plugin(kendo.ui.MultiSelect.extend({
    init: function(element, options) {
        kendo.ui.MultiSelect.fn.init.call(this, element, options);
    },
    options: {
        name: 'MultiSelectCustom'
    }
}));

varviewModel = kendo.observable({
    selectedIDs: [ 1, 3 ],
    selectData: [{
        Name: 'Bill Smith',
        ID: 1
    }, {
        Name: 'Jennifer Jones',
        ID: 2
    }, {
        Name: 'Tim Philips',
        ID: 3
    }]
});

kendo.bind('body', viewModel);

ここに画像の説明を入力

「値」のバインダーをもう一度作成し直すことができると思いますが、これは本当にバグですか? これを示す jsFiddle があります: http://jsfiddle.net/basememara/2Dacw/9/

4

1 に答える 1

2

multiselect にカスタム バインダーが設定されているため、これはバグではありません。新しい拡張ロールの複数選択のバインダーを複製してみることができます。

これを試して:

 kendo.data.binders.widget.multiselectcustom = kendo.data.binders.widget.multiselect;

ウィジェット拡張コードの前後に配置できますが、これにより bind 関数にウィジェットに適切にバインドする方法を伝える必要があります。

カスタムバインダーの剣道ドキュメントも見ていきますが、十分ではありませんが注意してください

于 2013-10-31T19:01:17.913 に答える