首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mat重置表单-选择并获得更改回调

使用mat重置表单-选择并获得更改回调
EN

Stack Overflow用户
提问于 2018-11-01 13:21:24
回答 1查看 5.8K关注 0票数 2

使用角材料垫-选择我有改变(或selectionChange在新的角材料版本)事件时,选项改变。但当我重设表单时,事件不会被触发.我该怎么做?

在线代码:https://stackblitz.com/edit/material2-beta11-pof3tu

代码语言:javascript
复制
@ViewChild(FormGroupDirective)
formGroupDirective: FormGroupDirective;

options = [
  'Option-1',
  'Option-2',
  'Option-3',
  'Option-4'
];

aForm: FormGroup;

constructor(fb: FormBuilder) {
  this.aForm = fb.group({
    selectForm: [null]
  })
}

selectChanged() {
  console.log('mat-select has changed!');
}

reset() {
  this.aForm.reset();
  this.formGroupDirective.resetForm();
}
代码语言:javascript
复制
<form [formGroup]="aForm">

  <mat-select formControlName="selectForm" placeholder="Enter an option" (change)="selectChanged()">
    <mat-option *ngFor="let option of options" [value]="option">
      {{ option }}
    </mat-option>
  </mat-select>

</form>

<button (click)="reset()">Reset</button>

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-01 13:37:34

您可以订阅用于select表单控件的valueChanges --在这种情况下,您不需要在任何时候在模板上订阅更改事件。

代码语言:javascript
复制
this.aForm.get('selectForm').valueChanges.subscribe( value => {
      console.log('mat-select has changed! =>', value);
});

当您重置表单时,当值更改为null时,您将得到通知。

demo

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53102172

复制
相关文章

相似问题

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