Javascript 如何突出显示表格中一行中选定的tds?

Javascript 如何突出显示表格中一行中选定的tds?,javascript,angular,typescript,Javascript,Angular,Typescript,我在Angular中开发了一个表,其中所有行都是高亮的,JSON中的db nr长度为7。现在我想强调的不是整行,而是这行中的某些tds。你能告诉我这是怎么回事吗 我的代码: // ********** DATA TABLE ARRAYS **********// private beforeMonthsColumns: EditColumns[] = [ { attribute: 'kagName', name: 'Erlöse / Kosten', object: null,

我在Angular中开发了一个表,其中所有行都是高亮的,JSON中的db nr长度为7。现在我想强调的不是整行,而是这行中的某些tds。你能告诉我这是怎么回事吗

我的代码:

 // ********** DATA TABLE ARRAYS **********//

  private beforeMonthsColumns: EditColumns[] = [
    { attribute: 'kagName', name: 'Erlöse / Kosten', object: null, disabledRanges: false },
    { attribute: 'kagNumber', name: 'KAG', object: null, disabledRanges: false }
  ];

  private monthColumns: EditColumns[] = [
    { attribute: '1', name: 'Jan', object: 'values', disabledRanges: true },
    { attribute: '2', name: 'Feb', object: 'values', disabledRanges: true },
    { attribute: '3', name: 'Mrz', object: 'values', disabledRanges: true },
    { attribute: '4', name: 'Apr', object: 'values', disabledRanges: true },
    { attribute: '5', name: 'Mai', object: 'values', disabledRanges: true },
    { attribute: '6', name: 'Jun', object: 'values', disabledRanges: true },
    { attribute: '7', name: 'Jul', object: 'values', disabledRanges: true },
    { attribute: '8', name: 'Aug', object: 'values', disabledRanges: true },
    { attribute: '9', name: 'Sep', object: 'values', disabledRanges: true },
    { attribute: '10', name: 'Okt', object: 'values', disabledRanges: true },
    { attribute: '11', name: 'Nov', object: 'values', disabledRanges: true },
    { attribute: '12', name: 'Dez', object: 'values', disabledRanges: true }
  ];

  private afterMonthsColumns: EditColumns[] = [
    { attribute: 'currentYear', name: '', object: 'values', disabledRanges: true },
    { attribute: 'note', name: 'Anmerkung', object: null, disabledRanges: false },
  ];

对html中的行使用
ngStyle
指令,该指令根据选定列表检查行id并应用样式。使用使用find()或类似的方法选择的行列表切换行ID。基本前提是根据条件对行应用样式

<row [ngStyle]={ listOfSelected.find(it => it.id === row.id): 'classOnRow': 'noStyle' }</row>
it.id==row.id):'classOnRow':'noStyle'}
private loadData() {
...
if (null !== data && data && yearlyBwaResults && yearlyBwaResults !== null) {
          this.mandantKagIds = data.map((d) => d.mandantKagId);
          const rows = [];
          const bwaMonthData: string[] = [];
          const bwaNames = _.uniq(data.map((d) => d.kagName)) as string[];
          for (const n of bwaNames) {
            bwaMonthData[n] = data.filter((d) => d.kagName === n);
            if (bwaMonthData[n].length > 0) {
              // console.log('bwaMonthData:', bwaMonthData[n][0]);
              const row: any = { kagName: bwaMonthData[n][0].kagName, kagNumber: bwaMonthData[n][0].kagNumber, values: {}, note: '' };
              const dbNrStr = `${bwaMonthData[n][0]['db-nr']}`;
              row['highlight'] = (dbNrStr.length === 7); // Here I highlighted the rows
              // console.log('row:', row);
              rows.push(row);
            }
          }
          this.data = rows;
        }
...
}
<row [ngStyle]={ listOfSelected.find(it => it.id === row.id): 'classOnRow': 'noStyle' }</row>