单击垫图标按钮时可扩展垫-table
Expandable mat-table on mat-icon-button click
我在我的 mat-table:
中实现了以下功能(展开行详细信息,当您单击该行时它会打开其详细信息)
https://stackblitz.com/edit/angular-material2-issue-wervgn?file=app%2Ftable-basic-example.html
但这是在我点击该行的任何地方打开详细信息 div。我想 expend/open 仅在垫子图标 expand_more/expand_less 单击时向上或折叠。
我尝试在单击按钮时调用 onToggleChange,但没有成功。
如果有人可以帮助我。
暂时谢谢。
我编辑了您的示例,我认为我实现了预期的行为。基本上我使用 ViewChildren 视图查询来获取所有详细信息行指令实例,并在单击图标时调用切换功能。
看看:https://stackblitz.com/edit/angular-material2-issue-asu1zv?file=app%2Fcdk-detail-row.directive.ts
上面的答案非常有效,它只是错过了在打开新行时关闭上一个打开行的逻辑。
您可以通过遍历视图查询并在当前打开的每一行上触发 onToggleChange 来轻松实现此目的。
像这样:
expand(element: any) {
for (let i = 0; i < this.detailRows.length; i++) {
const openedRow = this.detailRows.find(x => x.row == i)
if (openedRow?.expended) {
this.onToggleChange(openedRow?.row);
}
}
const detail = this.detailRows.find(x => x.row == element);
detail?.toggle();
}
我在我的 mat-table:
中实现了以下功能(展开行详细信息,当您单击该行时它会打开其详细信息)https://stackblitz.com/edit/angular-material2-issue-wervgn?file=app%2Ftable-basic-example.html
但这是在我点击该行的任何地方打开详细信息 div。我想 expend/open 仅在垫子图标 expand_more/expand_less 单击时向上或折叠。
我尝试在单击按钮时调用 onToggleChange,但没有成功。
如果有人可以帮助我。
暂时谢谢。
我编辑了您的示例,我认为我实现了预期的行为。基本上我使用 ViewChildren 视图查询来获取所有详细信息行指令实例,并在单击图标时调用切换功能。 看看:https://stackblitz.com/edit/angular-material2-issue-asu1zv?file=app%2Fcdk-detail-row.directive.ts
上面的答案非常有效,它只是错过了在打开新行时关闭上一个打开行的逻辑。
您可以通过遍历视图查询并在当前打开的每一行上触发 onToggleChange 来轻松实现此目的。
像这样:
expand(element: any) {
for (let i = 0; i < this.detailRows.length; i++) {
const openedRow = this.detailRows.find(x => x.row == i)
if (openedRow?.expended) {
this.onToggleChange(openedRow?.row);
}
}
const detail = this.detailRows.find(x => x.row == element);
detail?.toggle();
}