需要手动绑定ng-change事件。具体实现方法如下:
在ui-select组件上添加ng-change属性,并赋值一个函数。
在绑定的函数中加上判断逻辑,如果清空操作触发,记录下来并调用$scope.$apply()。
代码示例:
HTML:
{{$select.selected.name}}
JS:
$scope.selectedItem = null;
$scope.allowClearTriggered = false;
$scope.onSelectChanged = function() {
if ($scope.allowClearTriggered) {
console.log('ui-select cleared');
$scope.allowClearTriggered = false;
}
};
$scope.$watch('selectedItem', function(newValue, oldValue) {
if (newValue == null && oldValue != null) {
$scope.allowClearTriggered = true;
$scope.$apply();
}
});