【发布时间】:2021-10-30 10:17:06
【问题描述】:
我正在尝试使用 Angular 材质构建网页 我有一个下拉选择元素和一堆 FAB 按钮来显示状态。 我想做的是,如果单击下拉列表并选择一个项目。 按钮的背景颜色会根据我选择的项目而改变。
我找到了一些基于按钮单击事件更改颜色(方案)的解决方案。 有没有办法根据下拉列表选择触发背景颜色变化?
谢谢
【问题讨论】:
标签: angular typescript button dynamic background
我正在尝试使用 Angular 材质构建网页 我有一个下拉选择元素和一堆 FAB 按钮来显示状态。 我想做的是,如果单击下拉列表并选择一个项目。 按钮的背景颜色会根据我选择的项目而改变。
我找到了一些基于按钮单击事件更改颜色(方案)的解决方案。 有没有办法根据下拉列表选择触发背景颜色变化?
谢谢
【问题讨论】:
标签: angular typescript button dynamic background
您可以使用此代码触发每次更改所选项目时更改按钮颜色的功能:
<mat-select (selectionChange)="setButtonColor($event.value)"
name="color" formControlName="type" >
<mat-option *ngFor="let color of colors"
[value]="color">{{type}}
</mat-option>
</mat-select>
<button mat-button [ngStyle]="{'background-color':bgColor}">
Button
</button>
你的 Typescript 文件应该包含一个变量 bgColor 来保存选择的值字符串和改变这个变量值的 setButtonColor 函数
bgColor = 'blue'; // blue is the default color in this case
setButtonColor(color){
bgColor = color;
}
【讨论】:
setButtonColor 是公开的:public setButtonColor(color) { bgcolor = color; }
【讨论】: