角度材料Autco-complete Clear

时间:2016-02-26 15:46:35

标签: javascript angularjs angular-material

如果在角度材质自动完成上单击清除按钮,如何附加我自己的功能。

网址:https://material.angularjs.org/latest/demo/autocomplete

例如:我想在单击自动完成字段中的X按钮时运行myFunctyion()。 enter image description here

2 个答案:

答案 0 :(得分:0)

该按钮来自以下代码' ng-click

<button
                type="button"
                tabindex="-1"
                ng-if="$mdAutocompleteCtrl.scope.searchText && !$mdAutocompleteCtrl.isDisabled"
                ng-click="$mdAutocompleteCtrl.clear()">
              <md-icon md-svg-icon="md-close"></md-icon>
              <span class="md-visually-hidden">Clear</span>
            </button>

如果您编写了button元素指令或具有高优先级的mdVisuallyHidden类指令,您可以拦截该事件并自行处理...

提交拉取请求以将此类事件添加到https://github.com/angular/material/blob/master/src/components/autocomplete/js/autocompleteDirective.js

答案 1 :(得分:0)

同意先前的答案&#34; X&#34;按钮将触发$mdAutocompleteCtrl.clear()

但我的提示会有所不同,除了编写自定义指令外,您可以将函数放到$mdAutocompleteCtrl.clear() angular-material.js库。$mdAutocompleteCtrl.clear()。或者创建一个可以在$mdAutocompleteCtrl.clear()函数内传递函数的公共变量。

实际上angular-material.js它本身只是公共方法的别名。 clearValue()的实际功能名称为function ask-user { [CmdletBinding()] Param( [Parameter(Mandatory=$true)] [string] $question ) Process { $answer = read-Host $question if ("yes" -match $answer) {$true} elseif ("no" -match $answer) {$false} else {ask-user $question} } }