2016-08-12 74 views
1

我使用的UI選擇(0.18.1版本)的插件(在單一選擇模式AngularJS UI - 選擇作爲組合框

參考:https://github.com/angular-ui/ui-select

我喜歡的UI和功能非常多,因爲我們可以從我們綁定到該控件的選項列表中搜索我們需要的選項。

現在我的需要是我需要這個UI選擇控件作爲ComboBox工作,即如果搜索到的項目沒有在項目列表中找到,然後按'ENTER'鍵應該將項目添加到我們的基本項目列表和它應該被默認選中。

我需要這個在單選模式下,我已經在谷歌搜索了這個,但我能找到的所有功能都是針對UI選擇多種模式和作爲標記。

我不需要UI-Select中的標籤,我需要它作爲選項列表中的一個選項。

回答

0

我發現這個解決方案,

issue已經在GitHub上的用戶界面,選擇庫已經被提出。

這是錯誤 - 使用新標籤標籤沒有多個使用angularjs 1.3.2時不起作用,但它已經解決了,最有可能的,如果你下載最新的UI選擇庫它已經解決了這個問題。

您也可以訪問this

tagging-label="false" 

這個人可能會爲你做詭計。

+0

您好感謝答覆,我試了一下。但不能得到它的工作。 可以請你提供一個示例plunker或類似的東西 我使用的角度版本v1.5.0和ui選擇版本0.18.1 –

+0

嗨,我已經用最新的ui選擇版本0.19.1再次嘗試,並且有部分工作。但它不清除$ select.clear();並且它將該項目顯示爲標記,但我需要將其顯示爲列表中的項目。和佔位符不顯示-None-當標記模式中的選擇被刪除 –

+0

確定@PavanKosanam你可以找到它的問題是它的庫有很多問題提出...我不知道它的確切。 –

0

我所著的附加指令UI的組合框並增加了一些配置

<ui-select 
    ng-model="ctrl.person.selected" theme="select2" 
    reset-search-input='false' 
    ui-combobox="email" 
style="min-width: 300px" > 
    <ui-select-match placeholder="..."> 
     {{ctrl.person.selected}} 
     </ui-select-match> 
    <ui-select-choices repeat="person.email as person in ctrl.people | propsFilter: {name: $select.search, age: $select.search}"> 
     <div ng-bind-html="person.name | highlight: $select.search"></div> 
    </ui-select-choices> 
    </ui-select> 



    app.directive('uiCombobox', function() { 
      return { 
      require: 'uiSelect', 
      link: function(s, e, a, uiSelect) { 
       s.$watch(function() { 
       return uiSelect.search 
       },function() { 
       if(!uiSelect.search) return; 
       console.log(uiSelect.search); 
       var obj = {}; 
       obj[a.uiSel] = uiSelect.search; 
       s.$broadcast('uis:select', obj); 
       }); 
      } 
      } 

     })