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
Angular 根据角度9的材质表中的值,在一列中显示多个数据数组_Angular_Angular9_Mat Table - Fatal编程技术网

Angular 根据角度9的材质表中的值,在一列中显示多个数据数组

Angular 根据角度9的材质表中的值,在一列中显示多个数据数组,angular,angular9,mat-table,Angular,Angular9,Mat Table,我有这些数据。当服务值为真时,如何在表中显示? 下面是这样的 表格应为: ID Services 5 service1,service3 数据: html 数量 {{purchaseOrder.id} 订购的设备 {{purchaseOrder.services} 您可以在组件中使用自定义方法来过滤服务: getRequiredServices(servicesObject) { return Object.keys(servicesObject).filter(serv

我有这些数据。当服务值为真时,如何在表中显示? 下面是这样的

表格应为:

ID     Services
5      service1,service3
数据:

html


数量
{{purchaseOrder.id}
订购的设备
{{purchaseOrder.services}

您可以在组件中使用自定义方法来过滤服务:

getRequiredServices(servicesObject) {
 return Object.keys(servicesObject).filter(service => servicesObject[service]).join();
}
在您的HTML中:

<ng-container matColumnDef="services">
  <mat-header-cell *matHeaderCellDef mat-sort-header>Equipment Ordered</mat-header-cell>
  <mat-cell *matCellDef="let purchaseOrder">{{getRequiredServices(purchaseOrder.services)}}</mat-cell>
</ng-container>

您可以在组件中使用自定义方法筛选服务:

getRequiredServices(servicesObject) {
 return Object.keys(servicesObject).filter(service => servicesObject[service]).join();
}
在您的HTML中:

<ng-container matColumnDef="services">
  <mat-header-cell *matHeaderCellDef mat-sort-header>Equipment Ordered</mat-header-cell>
  <mat-cell *matCellDef="let purchaseOrder">{{getRequiredServices(purchaseOrder.services)}}</mat-cell>
</ng-container>

喂,桌子上什么也没有。还检查值是否为真?thanks@user10860402-是的,它应该返回真实的服务。它现在起作用了,谢谢。你介意我再问一个问题吗?如果我在服务中有另一个属性是“services4:‘string here’”,该怎么办。如果字符串的值不为null,如何显示该值?感谢you@user10860402-如果新属性的值为字符串,则函数将在不做任何更改的情况下工作,因为字符串是真值。我的意思是,如果字符串不是null或空,则显示字符串的值?您好,表上没有显示任何内容。还检查值是否为真?thanks@user10860402-是的,它应该返回真实的服务。它现在起作用了,谢谢。你介意我再问一个问题吗?如果我在服务中有另一个属性是“services4:‘string here’”,该怎么办。如果字符串的值不为null,如何显示该值?感谢you@user10860402-如果新属性的值为字符串,则函数将在不做任何更改的情况下工作,因为字符串是真值。我的意思是,如果字符串不是null或空,是否显示字符串的值?
getRequiredServices(servicesObject) {
  return Object.entries(servicesObject).reduce(
    (requiredServices, [key, value]) => {
      if (typeof value === 'boolean' && value) {
        requiredServices.push(key);
      } else if (typeof value === 'string' && value) {
        requiredServices.push(value);
      }
      return requiredServices;
    },
    []
  ).join();
}