gpt4 book ai didi

angular-material - 如何清除 md-select 中的值

转载 作者:行者123 更新时间:2023-12-04 16:59:07 41 4
gpt4 key购买 nike

我想要一个 md-select 用户可以清除所选值。例如。他们选择了一个值,但决定要清除他们的选择。

md-select 的行为是选择选项中的第一个条目。我想让它回到没有选择的状态。

我想我可能需要一个自定义指令,所以我实现了一个简单的指令,它监听 DELETE 键的 keydown。

HTML:

<div ng-controller="AppCtrl as ctrl" class="md-padding selectdemoBasicUsage" ng-cloak="" ng-app="MyApp">
<div>
<h1 class="md-title">Select a state</h1>
<span>I want the DELETE key to be able to clear the selected state.</span>
<div layout="row">

<md-input-container>
<label>State</label>
<md-select ng-model="ctrl.userState" select-clear>
<md-option ng-repeat="state in ctrl.states" value="{{state.abbrev}}">
{{state.abbrev}}
</md-option>
</md-select>
</md-input-container>
</div>
</div>
</div>

JS:
(function () {
'use strict';
angular
.module('MyApp',['ngMaterial', 'ngMessages'])
.controller('AppCtrl', function() {
this.userState = '';
this.states = ('AL AK AZ AR CA CO CT DE FL GA HI ID IL IN IA KS KY LA ME MD MA MI MN MS ' +
'MO MT NE NV NH NJ NM NY NC ND OH OK OR PA RI SC SD TN TX UT VT VA WA WV WI ' +
'WY').split(' ').map(function (state) { return { abbrev: state }; });
})
.directive('selectClear', function() {
return {
restrict: 'A',
require: 'ngModel',

link : function(scope, iElement, iAttrs, ngModelCtrl) {
iElement.bind('keydown', function(event) {
if (event.keyCode === 46) {
ngModelCtrl.$setViewValue('', event);
}
})
}
}
});
})();

这是我的代码笔:

http://codepen.io/craigsh/pen/GorpVV

但它不起作用 - 当按下 DELETE 键时,第一个选项值被选中。

最佳答案

除了状态列表之外,我建议使用“null”选项:

    <md-select ng-model="ctrl.userState" select-clear>
<md-option value="{{null}}">
-- select a state --
</md-option>
<md-option ng-repeat="state in ctrl.states" value="{{state.abbrev}}">
{{state.abbrev}}
</md-option>
</md-select>

所以工作片段(改编自你的)可能是:

http://codepen.io/beaver71/pen/LGxqjp

关于angular-material - 如何清除 md-select 中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34558991/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com