Очистить выбранный параметр в пользовательском интерфейсе-выберите угловой
кто-нибудь знает, как очистить выбранное значение окна ui-select в angular?
Я хочу функциональность select2, где у вас есть небольшой x в selectbox. Не похоже, что у него есть метод allow-clear, который получил select2.
4 ответа:
есть вариант
allow-clear
для 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 a country in the list..."> <span>{{$select.selected.name}}</span> </ui-select-match>
рабочий пример: http://plnkr.co/edit/DbbUE68QlNLjx97pBZ56?p=preview
вы можете добавить небольшую кнопку X при отображении выбора.
<ui-select-match placeholder="Select or search a country in the list..."> <span>{{$select.selected.name}}</span> <button class="clear" ng-click="clear($event)">X</button> </ui-select-match>
затем вы останавливаете событие click от пузырящегося и запускаете открытое событие. И вы очищаете поле, перезаписывая выбранную модель.
$scope.clear = function($event) { $event.stopPropagation(); $scope.country.selected = undefined; };
вот plnkr. http://plnkr.co/edit/qY7MbR
Если вы используете bootstrap, с точки зрения дизайна, вы также можете использовать значок fa-remove.
кроме того, с точки зрения удобства использования, вы можете выровнять значок удаления слева.
JS:
<ui-select-match placeholder="Select or find..."> <button class="clear-btn" ng-click="clear($event)"> <span class="fa fa-remove"></span> </button> <span class="clear-btn-offset">{{$select.selected}}</span> </ui-select-match>
CSS:
.select2 .clear-btn { background: none; border: none; cursor: pointer; padding: 5px 10px; position: absolute; left: -2px; top: 1px; } .clear-btn-offset { position: absolute; left: 25px; }
на директивном коде:
$scope.clear = function($event) { $event.stopPropagation(); // Replace the following line with the proper variable $scope.country.selected = undefined; };
Примечание: если мы использовали пометки и пометки-label="false" в этом случае разрешить-очистить функциональность не работает.
пользовательские функции очистки
HTML-код
<ui-select-match placeholder=”Enter table…”> <span>{{$select.selected.description || $select.search}}</span> <a class=”btn btn-xs btn-link pull-right” ng-click=”clear($event, $select)”><i class=”glyphicon glyphicon-remove”></i></a> </ui-select-match>
код действия контроллера
function clear($event, $select){ //stops click event bubbling $event.stopPropagation(); //to allow empty field, in order to force a selection remove the following line $select.selected = undefined; //reset search query $select.search = undefined; //focus and open dropdown $select.activate(); }