我应该使用“ <桌垫表...”还是“ <桌垫...”

Hob*_*mok 6 tags angular mat-table

标题已经说了,我应该使用那一个,在那里/拥有之间有什么区别

<table mat table [dataSource]="items" ...
Run Code Online (Sandbox Code Playgroud)

要么

<mat table [dataSource]="items" ...
Run Code Online (Sandbox Code Playgroud)

在我的HTML标记中?

粗略地看一下,它们都可以正常工作,但是我认为一定有区别...

编辑: 我专门谈论可调整大小的列,例如在此示例中:https ://stackblitz.com/edit/angular-rtfc5v?file=src%2Fapp%2Fapp.component.html

如果您切换

Bha*_*vin 9

选项 1 Stackblitz ::<mat-table>当您用作元素时,它使用 CSS flex-box 属性来对齐您的数据/表格,因此当您有很长的文本时,除非另有说明,否则它不会自动调整大小。注意使用此选项,你必须妥协rowspancolspan如在有需要时,你不能跨越的行/ COLS

选项 2 Stackblitz ::table[mat-table]当您用作 html 表的属性时,td根据单元格依次根据列自动调整其内容的大小。所以整列得到宽度

现代方法是使用Option-1 CSS flex-box 方法,但是如果单元格中的内容很长,则可以将列宽指定为大数,但如果您不想去很多麻烦您可以将它与Option-2 本机 html 一起使用table/tr/td

这里是Angular材质表的源码

感谢@joyBlanks