最後に、私はこのことを機能させることができました。この場合は正確ではありませんが、まったく同じロジックを持つ別のプロジェクトです。唯一の変更点は、_objectArray が文字列の配列ではなく、オブジェクトの配列だったことです。したがって、コードは次のようになります。
<template is="dom-repeat" items="{{tableData}}" as="rowData">
<tr>
<template is="dom-repeat" items="{{headers}}" as="columnData">
<td>
<template is="dom-if" if="{{checkType(columnData, 'check')}}">
<paper-checkbox disabled="{{getAttributeValue(columnData, 'disabled')}}" checked="{{getRowData(rowData, columnData)}}" on-change="checkBoxSelected"></paper-checkbox>
</template>
<template is="dom-if" if="{{checkType(columnData, 'led')}}">
<led-indicator on="{{!getRowData(rowData, columnData)}}"></led-indicator>
<span style="display: none;">{{getRowData(rowData, columnData)}}</span>
</template>
<template is="dom-if" if="{{checkType(columnData, 'link')}}">
<a href="javascript:void(0)" on-click="tableRowClicked">{{getRowData(rowData, columnData)}}</a>
</template>
<template is="dom-if" if="{{checkType(columnData, 'text')}}">
<span>{{getRowData(rowData, columnData)}}</span>
</template>
</td>
</template>
</tr>
</template>
メソッドを見るgetRowData
getRowData: function (row, column) {
return row[column.key];
},
と
checkType: function (columnData, type) {
var isType = false;
isType = columnData.type.toLowerCase() == type.toLowerCase();
return isType;
},
これは、行と列を動的に追加または削除し、テキスト、リンク、チェックボックスなどのさまざまなタイプの要素を表示できるテーブル用です。led-indicator などのカスタム コントロールの一部です。
背後にあるロジックは、ヘッダー配列を使用してテーブル列を生成し、この配列には構造体のオブジェクトが含まれています
{
name: 'Popular Name',
key: 'PopularName',
type: 'text'
}
テーブルデータには、ヘッダー配列で指定されたキーを含むオブジェクトの配列が含まれています。これが誰かにとって役立つことを願っています。