2017-08-07 42 views
-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

回答

0

看一看ui-select角形JS。您可以將其設置爲多選,並接受自定義篩選,如this post。希望這可以幫助。祝你好運

+0

當然看起來很有希望,但我最終寫了自己的指令來解決我的問題。我會將你的答案標記爲正確答案,因爲它在這種情況下表現出最大的承諾。這是我所尋找的最接近的東西! – Jorrex