angular - 限制 Angular Button Toggle Group 中的可选按钮
问题描述
Angular Material Button Toggle Group 可以设置为multiple
,然后从 0 到可以选择组中的所有按钮。有没有办法强制必须选择至少一个按钮并设置最大选定按钮(如果限制为 2 并且用户选择第三个按钮,则第一个选定按钮应更改为未选择)。是否有可能实现这一目标mat-button-toggle-group
?
解决方案
您必须使用组的属性“值”。在更改方法中,使用引用变量传递整个“组”。
例如
<mat-button-toggle-group #group="matButtonToggleGroup"
multiple=true (change)="change(group)">
<mat-button-toggle *ngFor="let value of [1,2,3,4,5]" [value]="value">
<mat-icon>format_align_left</mat-icon>
</mat-button-toggle>
</mat-button-toggle-group>
<div class="example-selected-value">Selected value: {{group.value}}</div>
max:number=2;
change(group:any)
{
//group.value is an array with the elements selected
if (group.value.length>this.max)
{
let newValue=group.value;
newValue.shift();
group.value=newValue;
}
}
推荐阅读
- sas - SAS:数据集合并并打印出完整的变量列表,但找不到供将来使用的变量
- sql - SQL 子查询:显示购买了两件商品的 Customer_ID
- mysql - 在sql中合并具有不同行数的2个不同列后,如何使重复值变为null?
- r - 在 R Markdown 中,如何使用超链接创建对引用的引用?
- javascript - 如何检查作为字符串带来的变量是否是 Javascript 中的数字或字母?
- c# - ASP .net core3.1 中的 CORS 策略
- jquery - 单击复选框时更改唯一的行表颜色
- javascript - (React.js) 使用箭头键滚动列表
- c# - 从主项目中查找类库的资源
- r - 数字排序后将文件子集从当前文件夹复制到两个不同的目标文件夹