Answers:
从更改change
为selectionChange
。
<mat-select (change)="doSomething($event)">
就是现在
<mat-select (selectionChange)="doSomething($event)">
(changeEventChange)
事件来检测更改事件何时更改。
selectionChange
material.angular.io/components/select/api
如果您使用的是反应式表单,则可以像这样侦听对select控件的更改。
this.form.get('mySelectControl').valueChanges.subscribe(value => { ... do stuff ... })
.updateValueAndValidity
控件,请不要忘记通过{ emitEvent: false }
以避免RangeError: Maximum call stack size exceeded
。另一方面,感谢提示(+1),它使我找到了所需的东西。
对于:
1)垫选择(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>
sample.component.ts
actions=['A','B','C'];
onChange() {
//Do something
}
2)简单的html select (change)="myFunction()"
可以按以下方式工作:
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
}
对我来说(selectionChange)
,建议(onSelectionChange)
没有用,我没有使用ReactiveForms
。我最终要做的是使用(valueChange)
类似这样的事件:
<mat-select (valueChange)="someFunction()">
这对我有用
<mat-select placeholder="Select an option" [(ngModel)]="project.managerId" name="managerId" required (selectionChange)="fillComanager(project.managerId)"> <mat-option *ngFor="let manager of managers" [value]="manager.id"> {{ manager.name }} </mat-option> </mat-select>
我今天在mat-option-group中遇到这个问题。解决我问题的东西是在mat-select的其他提供的事件中使用的: valueChange
我在这里放了一些代码来理解:
<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>
垫子版本:
“ @ angular / material”:“ ^ 6.4.7”,