允许在ui-select中手动输入文本的编辑操作

时间:2017-07-13 13:29:59

标签: angularjs

我正在使用ui-select库中的select字段。我可以选择选项或输入新选项。当我输入一个新的并尝试通过再次单击该字段进行编辑时,手动输入的值将消失。有没有可用的,以便我可以保留手动输入的值,同时也可以编辑它。我已经提到了以下stackoverflow问题来实现它。 Allow manually entered text in ui-select

HTML

<ui-select ng-model="superhero.selected">
  <ui-select-match placeholder="Select or search a superhero ...">{{$select.selected}}</ui-select-match>
  <ui-select-choices repeat="hero in getSuperheroes($select.search) | filter: $select.search">
    <div ng-bind="hero"></div>
  </ui-select-choices>
</ui-select>

控制器

$scope.getSuperheroes = function(search) {
 var newSupes = $scope.superheroes.slice();
  if (search && newSupes.indexOf(search) === -1) {
    newSupes.unshift(search);
  }
  return newSupes;
}

以下链接https://codepen.io/arcotnaresh/pen/bVqqdj

已经有了一个有效的codepen解决方案

1 个答案:

答案 0 :(得分:0)

<强> (更新)

根据官方documentation,您应该将reset-search-input属性设置为false,如下所示:

<ui-select ng-model="superhero.selected" reset-search-input="false">
    <!-- ... -->
</ui-select>

参见 CodePen

PS:请注意,当键入一些字符串并选择列表中的另一个元素(而不是键入的元素)时,再次单击输入时,将显示键入的字符串,而不是所选元素