angular - Angular 7:使用下拉框上的 x 按钮清除选择
问题描述
我想我可以将Angular for dropdown和Input with clear box中的示例结合起来:
<mat-form-field >
<mat-select placeholder="Country" [(value)]="selectedCountry" (selectionChange)="emitItemChanges()">
<div *ngFor="let item of lstItems|async">
<mat-option *ngIf="addItem(item)" [value]="item">{{item.title}}</mat-option>
</div>
</mat-select>
<button mat-button *ngIf="selectedCountry" matSuffix mat-icon-button aria-label="Clear"
(click)="selectedCountry=undefined">
<mat-icon>close</mat-icon>
</button>
</mat-form-field>
其工作方式接近预期的方式
清除输入。我现在面临的问题是它会立即打开选择框。无论如何如何防止这种行为?
我知道还有其他解决方案可以清除选择。我想知道这种方法是否可行?
解决方案
(click)="selectedCountry=undefined; $event.stopPropagation()"
帮助!感谢@Sachila :-)
所以完整的代码如下:
<button mat-button *ngIf="selectedCountry" matSuffix mat-icon-button
aria-label="Clear" (click)="selectedCountry=undefined; $event.stopPropagation()">
<mat-icon>close</mat-icon>
推荐阅读
- javascript - 如何在通过列表进行反应和制作元素时制作引导行
- node.js - 错误:无法扩展类型“查询”,因为它没有定义
- c++ - 如何识别字符串只包含数字?
- java - 从字符串中提取每个单词并比较频率
- scala - 将镶木地板文件写入s3时出现奇怪的错误
- vue.js - 带有 HTML 的 Vue.js 自定义组件
- docker - 使用 docker 映像时缺少已安装的依赖项
- shell - 如何隐藏名称文件夹并仅显示 vim 类型“* .vim”
- drupal - 如何在页面--front.html.twig 中向模板页面显示自定义字段内容类型?
- android - 变量“date”是从内部类中访问的,需要声明为final