angular - Angular - 单击动态按钮列表更改按钮样式
问题描述
我想在单击 1 个按钮时制作按钮的动态列表,它的样式应该改变,我不知道如何使它工作,例如:
每当我们单击其中一个按钮时,只有该按钮样式会发生变化。知道如何进行这项工作吗?加上这里是一个使用类似工作的链接仍然没有得到想法。
解决方案
如果您想要完全动态,则创建一个按钮名称数组。
buttons = ['Button 1', 'Button 2', 'Button 3'];
以及所选按钮的变量,并将第一个按钮分配为选定的。
selectedButton: string = this.buttons[0];
创建一个函数来检查选定的按钮。
isButtonSelected(button: string) {
return button === this.selectedButton;
}
添加switchButton
功能以切换您的选择。
switchButton(button: string) {
this.selectedButton = button;
}
在 HTML 中迭代您的按钮:
<ng-container *ngFor="let button of buttons">
<button mat-button [ngClass]="{'mat-raised-button':isButtonSelected(button)}" (click)="switchButton(button)">{{button}}</button>
</ng-container>
您现在可以根据需要更改mat-raised-button
为任何其他按钮类型。
请参阅StackBlitz的工作演示中的详细信息。
推荐阅读
- java - 春季启动:可重入锁
- excel - 选择从第一行 i/e 单元格 A5 到最后使用的列和最后使用的行作为边框的所有数据
- javascript - React-select 用户选择后如何清除选项
- r - 饼图 R 编程
- cakephp-3.0 - Cakephp 3 允许在 BelongsToMany 中重复
- mysql - 如何读取真正大的 JSON 文件并使用 node.js 将该文件的数据插入 MYSQL 数据库?
- mono - 由于所需的资产似乎正在使用中而导致单体开发失败……单独使用?
- reactjs - 从 create-react-app 切换到 webpack。现在如果使用地址栏访问路由将不会加载
- time - 如何测量单元格的时间并将输出写入 Jupyter 中的文件?
- python - asyncio 任务(apache 光束管道)在 python 中同步运行