Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在不使用复选框的情况下设置角度材质数据表上的默认行选择_Angular_Angular Material_Angular Material Table - Fatal编程技术网

Angular 如何在不使用复选框的情况下设置角度材质数据表上的默认行选择

Angular 如何在不使用复选框的情况下设置角度材质数据表上的默认行选择,angular,angular-material,angular-material-table,Angular,Angular Material,Angular Material Table,我不熟悉棱角材料和棱角材料。如果这个问题问得很琐碎,请道歉 我一直在开发一个应用程序,它有一个带有角度材质数据表的组件 该表包含从服务获取的信息 我的要求是通过在“角度材质”表中使用颜色高亮显示来预选其中一条记录(数据表中的第一条记录),并以与同一组件中的表相邻的形式呈现该行中的信息 如果用户选择了角度材质数据表中的任何其他行,则表单应在表单中重新加载新选择的记录信息 我见过一些带有复选框的示例,但我不打算对表中的记录进行任何多选操作 下面的屏幕截图显示了我的需求示例 只需在.ts中添加一个变量

我不熟悉棱角材料和棱角材料。如果这个问题问得很琐碎,请道歉

我一直在开发一个应用程序,它有一个带有角度材质数据表的组件

该表包含从服务获取的信息

我的要求是通过在“角度材质”表中使用颜色高亮显示来预选其中一条记录(数据表中的第一条记录),并以与同一组件中的表相邻的形式呈现该行中的信息

如果用户选择了角度材质数据表中的任何其他行,则表单应在表单中重新加载新选择的记录信息

我见过一些带有复选框的示例,但我不打算对表中的记录进行任何多选操作

下面的屏幕截图显示了我的需求示例


只需在.ts中添加一个变量,例如
selectedIndex
。然后在定义垫子行的部分,可以使用类似的

<tr mat-row *matRowDef="let row; columns: displayedColumns;let i = index"
     [style.background]="i==selectedIndex?'red':'inherit'"
     (click)="selectedIndex=i">
</tr>

在本例中,我仅更改[style.background],您可以使用
[ngClass]=“{'yourClass':I==selectedIndex}”
并在.css中定义该类

首先,使selectedIndex等于0


参见

中的示例您确定数据表是实现此目的的最佳方法吗?真的有必要吗?你是否考虑使用列表来代替?我之所以考虑数据表,是因为在这种情况下,呈现的记录数可能有数百甚至数千条。由于Material table附带分页功能,我认为最好使用数据表来满足此要求。此外,table将支持排序,这可能是使用tableHi Eliseo的另一个考虑因素,我看到您已经设置了ngClass。但是,如果必须捕获第一行来加载表单,我该怎么做?我需要从selectedIndex所指向的记录中捕获数据以加载表单&默认情况下,在每次用户更改选择时,在组件加载和重新加载表中的第一行都会发生这种情况。