Angular 6 Material mat-select 更改方法已删除
Angular 6 Material mat-select change method removed
在 Angular Material 设计 6 中,删除了 (change) 方法。
当用户更改选择时,我应该如何替换更改方法来执行组件中的代码?
如果您使用的是 Reactive 表单,您可以像这样监听 select 控件的更改。
this.form.get('mySelectControl').valueChanges.subscribe(value => { ... do stuff ... })
已将其从 change
更改为 selectionChange
。
<mat-select (change)="doSomething($event)">
现在
<mat-select (selectionChange)="doSomething($event)">
对我来说 (selectionChange)
和建议的 (onSelectionChange)
没有用,我没有使用 ReactiveForms
。我最终做的是使用 (valueChange)
事件,例如:
<mat-select (valueChange)="someFunction()">
这对我有用
对于:
1) mat-select (selectionChange)="myFunction()"
在 angular 中的工作方式为:
sample.component.html
<mat-select placeholder="Select your option" [(ngModel)]="option" name="action"
(selectionChange)="onChange()">
<mat-option *ngFor="let option of actions" [value]="option">
{{option}}
</mat-option>
</mat-select>
sample.component.ts
actions=['A','B','C'];
onChange() {
//Do something
}
2) 简单的 html select (change)="myFunction()"
在 angular 中工作为:
sample.component.html
<select (change)="onChange()" [(ngModel)]="regObj.status">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
sample.component.ts
onChange() {
//Do something
}
我今天遇到了 mat-option-group 的问题。
解决我问题的是在其他提供的 mat-select 事件中使用:
值变化
我在这里放了一些代码以供理解:
<mat-form-field >
<mat-label>Filter By</mat-label>
<mat-select panelClass="" #choosedValue (valueChange)="doSomething1(choosedValue.value)"> <!-- (valueChange)="doSomething1(choosedValue.value)" instead of (change) or other event-->
<mat-option >-- None --</mat-option>
<mat-optgroup *ngFor="let group of filterData" [label]="group.viewValue"
style = "background-color: #0c5460">
<mat-option *ngFor="let option of group.options" [value]="option.value">
{{option.viewValue}}
</mat-option>
</mat-optgroup>
</mat-select>
</mat-form-field>
Mat 版本:
"@angular/material": "^6.4.7",
对我来说 ...(click)="myFunction()"...
有效;上面什么都没有。
在 Angular Material 设计 6 中,删除了 (change) 方法。 当用户更改选择时,我应该如何替换更改方法来执行组件中的代码?
如果您使用的是 Reactive 表单,您可以像这样监听 select 控件的更改。
this.form.get('mySelectControl').valueChanges.subscribe(value => { ... do stuff ... })
已将其从 change
更改为 selectionChange
。
<mat-select (change)="doSomething($event)">
现在
<mat-select (selectionChange)="doSomething($event)">
对我来说 (selectionChange)
和建议的 (onSelectionChange)
没有用,我没有使用 ReactiveForms
。我最终做的是使用 (valueChange)
事件,例如:
<mat-select (valueChange)="someFunction()">
这对我有用
对于:
1) mat-select (selectionChange)="myFunction()"
在 angular 中的工作方式为:
sample.component.html
<mat-select placeholder="Select your option" [(ngModel)]="option" name="action"
(selectionChange)="onChange()">
<mat-option *ngFor="let option of actions" [value]="option">
{{option}}
</mat-option>
</mat-select>
sample.component.ts
actions=['A','B','C'];
onChange() {
//Do something
}
2) 简单的 html select (change)="myFunction()"
在 angular 中工作为:
sample.component.html
<select (change)="onChange()" [(ngModel)]="regObj.status">
<option>A</option>
<option>B</option>
<option>C</option>
</select>
sample.component.ts
onChange() {
//Do something
}
我今天遇到了 mat-option-group 的问题。 解决我问题的是在其他提供的 mat-select 事件中使用: 值变化
我在这里放了一些代码以供理解:
<mat-form-field >
<mat-label>Filter By</mat-label>
<mat-select panelClass="" #choosedValue (valueChange)="doSomething1(choosedValue.value)"> <!-- (valueChange)="doSomething1(choosedValue.value)" instead of (change) or other event-->
<mat-option >-- None --</mat-option>
<mat-optgroup *ngFor="let group of filterData" [label]="group.viewValue"
style = "background-color: #0c5460">
<mat-option *ngFor="let option of group.options" [value]="option.value">
{{option.viewValue}}
</mat-option>
</mat-optgroup>
</mat-select>
</mat-form-field>
Mat 版本:
"@angular/material": "^6.4.7",
对我来说 ...(click)="myFunction()"...
有效;上面什么都没有。