当前位置: 首页 > 知识库问答 >
问题:

如何为Mat-table创建一个“全部展开”按钮,使其以8角展开表格中的每一行?

宣意致
2023-03-14

我正在使用Angular Mat-Table,并创建了一个具有可扩展行的表,就像Angular 8中下面的表:

https://stackblitz.com/angular/qykjaloknex?file=app%2ftable-expandable-rows-example.ts

我想知道是否有一种方法,我可以创建一个扩展所有按钮,它将一次扩展每一行,而不是一次点击每一行来扩展它。

谢谢!

共有1个答案

岑鸣
2023-03-14

您可以在expandedelement之外引入一个可以切换的属性(例如,通过一个按钮)来实现这一点。

在模板中添加按钮以切换“全部展开/折叠”:

<button mat-raised-button (click)="toggle()">{{allRowsExpanded ? 'Collapse' : 'Expand'}}</button>

更改要展开的行的条件:

<div class="example-element-detail"
           [@detailExpand]="(element == expandedElement || allRowsExpanded) ? 'expanded' : 'collapsed'">

并将其连接到组件中:

allRowsExpanded: boolean = false;

public toggle() {
  this.allRowsExpanded = !this.allRowsExpanded;
  this.expandedElement = null;
}

看看这个stackblitz的工作示例。

 类似资料:
  • 4)现在这些图像不会占据整个屏幕。所以如果我有一个非常大屏幕的android系统,我会在第一行看到3个图像,一个非常大的间隙,然后在第二行看到3个图像。 5)我希望,如果我意外地单击第一行和第二行之间的任何地方(在两行按钮/图像之间的空隙中),不会发生任何事情。 6)然而,问题是,网格占据了整个屏幕。因此,即使我在两行按钮/图像的空隙中单击,单个单元格也是如此巨大,以至于每当我在空隙中单击时,我实

  • 我有一个2x2的按钮网格。现在我想把按钮缩小到200x200,把每个按钮放在一个容器中作为一个空格,然后把每个按钮放在各自容器的中心。 在我的图片中,我只缩小了顶部的两个按钮,以便您可以看到页面上的间距。我怎样才能从第一张图片转到第二张图片,这是Photoshop制作的? 文件:app.js 文件:index.html

  • 问题内容: 我尝试使用以下条件创建折叠并展开侧面菜单- 页面加载时,第一项(圆形)将处于展开视图中。一个项目可以一次扩展,例如,如果用户单击第二个项目(“规范”),则第一个项目将折叠。我还希望在收起/展开交易过程中使用一些CSS动画,例如平稳地向下/向上调整每个项目的主体部分并更改箭头图标。我的方法是动态地在每个项目()上添加/删除CSS类,例如- 因此,当一个项目处于展开视图时,它应类似于上一类

  • vue表格实现 使用vxe-table(树形表格&&展开行表格) 这个使用什么组件库合适 思路 1.将数据处理为一维数组,并在父节点行数据中设置chirldren属性存放子数据,点击全部时通过删除数组中的子数据达到展开收缩效果,----这样不知道合理不合理,求一个更好的解决方法 更新进度: 没有使用上述方法,使用了两次vxe-table 中的tree-node属性,这样会有这样的警告,暂不处理 [

  • 问题内容: 我想从表中的数据创建json。表看起来像这样: 我正在使用FOR JSON PATH,这很不错: 但此查询的返回值是一行中的三个串联的json: 我需要每一行都是一个单独的json,像这样: 我正在尝试使用拆分函数(CROSS APPLY),该函数需要使用分隔符作为参数,但这不是一个可靠的解决方案,因为json可以进一步扩展或分支,并且可以不分离整个json,而是分离json内部的js

  • 今天分享的是设计面试中的反问阶段,如何展开反问,获取到我们需要的信息。 面试补充 刚刚您提到的那个问题,我自己的思考有些局限,如果是您,会怎么处理呢? 具体业务 团队的分工协作方式是什么呢? 个人发展 参加面试的过程其实也是学习进步的过程,站在前辈的角度上,您对我有什么建议吗(比如说有哪些方面的能力待提升、职业规划方面的建议)? 团队价值 您希望短期内,我作为团队新人,能够为团队解决哪方面的问题呢