-1
私はこの特定の問題について私の頭を打ち砕いており、私はその解決策を見つけることができないようです。選択時にフィルタリングするときにモデルをそのまま保持する
基本的に、私が達成しようとしているのは、選択リスト([複数]を選択)を持ち、配列に値をバインドすることです。しかし、リストが大きくなるにつれて、フィルタを追加するので、個別にスクロールして検索する必要はありません。
しかし、そうすることで、私のモデル(配列)がクリアされている可能性が高くなります。フィルタリングの結果であるものを除いて、そこに格納されている値はすべて破棄されます。
誰もがこの特定の問題に取り組む方法を知っていますか?
問題をシミュレートするには、複数の項目を選択し、特に1つの項目をフィルタリングします。フィルターをクリアすると、モデルはクリアされます。
指令コード
angular
.module("multiselect", [])
.directive("multiselect", [function() {
return {
template: '<div>' +
' <input type="text" data-ng-model="filter" placeholder="filter"/>' +
' <select multiple="multiple" data-ng-model="selection" data-ng-options="item.value as item.label for item in items | filter: filter"/>' +
'</div>',
link: function(scope, elem, attr) {
scope.selection = [];
scope.items = [
{ label: 'Item 1', value: 1 },
{ label: 'Item 2', value: 2 },
{ label: 'Item 3', value: 3 },
{ label: 'Item 4', value: 4 },
{ label: 'Item 5', value: 5 },
];
}
}
}]);
HTML
<div ng-app="multiselect">
<multiselect></multiselect>
</div>
例>fiddle
確かに有望ですが、私は自分の問題を解決するために自分の指示を書いた。このような状況で最も有望なことを示すので、私はあなたの答えを正しいものとしてマークします。私が探していたものに最も近いものです! – Jorrex