我想找到一种方法来清除代码选择ui-select。
例如,我有以下代码
<ui-select ng-model="selectedCustomerCode" ng-if="CustomerIds.length>1" on-select="CustomerCodeFiltersOnSelectCallback($item, $model)" theme="bootstrap">
<ui-select-match class="ui-select-match" allow-clear="true" placeholder="Επιλογή κωδικού πελάτη...">{{$select.selected.CCode}}</ui-select-match>
<ui-select-choices class="ui-select-choices" repeat="customer in CustomerIds | propsFilter: {CCode: $select.search}">
<div ng-bind-html="customer.CCode | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
我想碰上一个清除按钮并清除一些输入,包括ui-select。 清除ui-select的代码是什么?
答案 0 :(得分:7)
问题已经解决了。
我不知道为什么,但只有selectedCustomerCode
的ng-model无法正常工作。
我将selectedCustomerCode
指定为对象:
ng-model="selectedCustomer.selectedCustomerCode"
然后我能够像这样清除它:
selectedCustomer.selectedCustomerCode = ''
如果我有
ng-model="selectedCustomerCode"
然后将其重新分配给:
selectedCustomerCode = ''
不知何故不起作用。
答案 1 :(得分:2)
您应该清除cont.selectedCustomerCode
变量:
<button ng-click="cont.selectedCustomerCode = ''">clear</button>
修改强>
您应该考虑在变量上公开属性。这是推荐的方式。
答案 2 :(得分:1)
有一个选项allow-clear for ui-select-match为你做的事情,你将在右边有x,你可以点击它清除它。 https://github.com/angular-ui/ui-select/wiki/ui-select-match
<ui-select-match allow-clear="true" placeholder="Select or search in a list...">
<span>{{$select.selected.name}}</span>
</ui-select-match>
答案 3 :(得分:0)
我今天使用的另一种可能的解决方案是通过向ui-select-choices重复的列表中添加一个clear元素来创建一个空状态
vm.CustomerIds.unshift({"CCode":"Select..."});