我正在使用ui-select2,但在使用allowClear时遇到问题:true。 allowClear按预期工作,但需要在清除输入时触发事件。 我尝试通过$ watch实现它,但没有成功。有没有办法在angularjs中使用select2-removed函数。
<select ui-select2="timeConfig" ng-model="time" data-placeholder="{{TIME.placeholder}}">
<option value=""></option>
<option ng-repeat="option in TIME.options" value="{{option.value}}">
{{option.title}}</option>
</select>
//在控制器中
$scope.timeConfig = {
allowClear : true
}
$scope.$watch('time', function(newVal,oldVal) {
if(newVal=='') {
console.log("Value is changed to clear");
}
console.log("Changing and making new request");
}, true);
当我点击清除按钮时,$ watch未被触发(模型中的值保持不变)
答案 0 :(得分:3)
select2事件没有选项(你可以在源头看到它:https://github.com/angular-ui/ui-select2/blob/master/src/select2.js)
请看一下简单的演示 - http://plnkr.co/edit/FDrgZncCEajRulrHmjz4?p=preview,你的代码工作得很好,当我点击“清除”时,我可以在日志中看到“值已更改为清除”消息。
您的其他代码可能有问题吗?