如何解决角柱可选表-柱位置
我想在我的角度代码中添加列可选表。 (类似于:https://stackblitz.com/edit/poc-column-selector?file=app%2Ftable-basic-flex-example.ts) 但我希望列的顺序相同。这意味着在取消选择并再次选择后,它应该只将列附加到其原始位置,而不是在末尾或任何随机位置。
任何人都可以提出建议,如何实现这一目标?
解决方法
“关键”是行
<mat-header-row *matHeaderRowDef="group.value"></mat-header-row>
<mat-row *matRowDef="let row; columns: group.value;"></mat-row>
列不应该是组值,否则如果值在组值中,则为固定数组过滤器。所以,
<mat-button-toggle-group [multiple]="true" #group="matButtonToggleGroup"
(change)="setColumns()">
@ViewChild('group') toggle: MatButtonToggle;
columns:any[]
setColumns(){
this.columns=['position','name','weight','symbol'].filter(x=>this.toggle.value.indexOf(x)>=0)
}
并改变:
<mat-header-row *matHeaderRowDef="columns"></mat-header-row>
<mat-row *matRowDef="let row; columns: columns"></mat-row>
注意你也可以使用像这样的 getter
get columns()
{
return ['position','symbol'].filter(x=>this.toggle.value.indexOf(x)>=0)
}
而且您不需要使用事件 (change)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。