angular - 打开matautocomplete面板时如何触发事件发射器
问题描述
我想在 matautocomplete 面板打开时打印到控制台“你好”。这个怎么做?
这就是我尝试过的 template.html
<mat-form-field>
<input class="selectCustomer" opened id="inputCustomer" matInput [matAutocomplete]="auto" [formControl]="customerFilterControl" [(ngModel)]="customerName">
<mat-autocomplete dropdown-arrow="true" panelWidth ="450px" #auto="matAutocomplete" [displayWith] = "displayFn">
<mat-option class="CustomerDropDown" *ngFor="let customer of filteredOptions | async" [value] ="customer.AccountID +' '+'('+ customer.AccountName + ')'" (onSelectionChange)="onCustomerChange(customer)">
{{customer.AccountID}} ({{customer.AccountName}})
</mat-option>
</mat-autocomplete>
</mat-form-field>
根据matautocomplete文档,我看到了这个,我不熟悉如何使用它来满足我的要求,有人可以帮我吗?
@Output() 打开:EventEmitter
打开自动完成面板时发出的事件。
解决方案
@Output EventEmitter 用于在父组件和子组件之间进行通信,专门用于从子组件通知父组件,因此在您的情况下mat-autocomplete
是子组件,因此您应该在标签 ex中添加opened
事件:mat-autocomplete
<mat-autocomplete (opened)="isOpened()" ...>
并在您的组件(父)declateisOpened(){}
方法中,当自动完成打开并创建事件发射器的对象时被触发
@Output() opened: EventEmitter<void> = new EventEmitter();
推荐阅读
- javascript - Issues displaying SVG into HTML Canvas element
- angular - 如何按条件设置表单有效?
- ruby-on-rails - 打开跟踪不适用于 Rails ahoy_email gem
- sql - 数据透视表上的 t-sql 辅助数据透视表
- c# - Change the time forward
- r - uncover an integer sequence where all but one values are masked by NA's
- javascript - 如何发送 XML 作为快速响应?
- javascript - 根据时区将本地时间转换为不同的时间 - javascript
- ruby - What does 'load_utility' do in COSMOS?
- recursion - 如何使用迭代编写此算法?