首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检测用户何时清除了mat-autocomplete的选择?

如何检测用户何时清除了mat-autocomplete的选择?
EN

Stack Overflow用户
提问于 2020-03-26 19:14:51
回答 1查看 61关注 0票数 1

根据自动完成选择的值,我需要更新一些其他表单域。

因此,我添加了optionSelected事件处理程序:

代码语言:javascript
复制
<mat-autocomplete (optionSelected)="onOptionSelected($event)">
    <mat-option *ngFor="let item of items"
                [value]="item">
        <span>{{item}}</span>
    </mat-option>
</mat-autocomplete>

用户应该能够清除选择,在这种情况下,我需要重置其他字段,也。

问题是当mat-autocomplete被用户清空时,optionSelected不会被触发。

如何捕获autocomplete was cleared事件?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-03-26 19:49:47

你能做的就是为你的mat- FormControl创建一个自动完成

代码语言:javascript
复制
myControl = new FormControl();

然后将它与HTML中的mat-autocomplete关联起来

代码语言:javascript
复制
<mat-autocomplete [formControl]="myControl" (optionSelected)="onOptionSelected($event)">
    <mat-option *ngFor="let item of items"
                [value]="item">
        <span>{{item}}</span>
    </mat-option>
</mat-autocomplete>

最后,在组件中监听值更改并请求新数据,然后将其设置为您的选项

代码语言:javascript
复制
this.myControl.valueChanges
  .pipe(
    debounceTime(500),
    distinctUntilChanged(),
    takeUntil(this.ngUnsubscribe) // optional but recommended 
  )
  .subscribe(searchPhrase => check if empty);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60865965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档