我正在使用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;
}
已经有了一个有效的codepen解决方案
答案 0 :(得分:0)
<强> (更新) 强>
根据官方documentation,您应该将reset-search-input
属性设置为false
,如下所示:
<ui-select ng-model="superhero.selected" reset-search-input="false">
<!-- ... -->
</ui-select>
参见 CodePen
PS:请注意,当键入一些字符串并选择列表中的另一个元素(而不是键入的元素)时,再次单击输入时,将显示键入的字符串,而不是所选元素