角度材料设计6中,删除了(更改)方法。 当用户更改选择时,我应该如何替换Change方法以执行组件中的代码?
如果您使用的是反应式表单,则可以侦听选择控件的更改,如下所示..
this.form.get('mySelectControl').valueChanges.subscribe(value => { ... do stuff ... })
将其从change更改为selectionChange。
change
selectionChange
<mat-select (change)="doSomething($event)">
是现在
<mat-select (selectionChange)="doSomething($event)">
https://material.angular.io/components/select/api.
对我来说,(selectionChange)和建议的(onSelectionChange)不起作用,我没有使用ReactiveForms。我最终使用的是(valueChange)事件,如:
(selectionChange)
(onSelectionChange)
ReactiveForms
(valueChange)
<mat-select (valueChange)="someFunction()">
这对我很有效。
用于:
1)MAT-SELECT(selectionChange)="myFunction()"以角度方式工作:
(selectionChange)="myFunction()"
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>
样本.组件.ts
actions=['A','B','C']; onChange() { //Do something }
2)简单HTML选择(change)="myFunction()"在Angular中的工作方式为:
(change)="myFunction()"
<select (change)="onChange()" [(ngModel)]="regObj.status"> <option>A</option> <option>B</option> <option>C</option> </select>
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版本:
“@角度/材质”:“^6.4.7 ”,
对我来说,...(click)="myFunction()"...起作用;上面什么都没有。
...(click)="myFunction()"...
<;mat-select(change)=";dosomething($event)";>;
是现在 <;mat-select(selectionchange)=";dosomething($event)";>;