我想构建两个组件,一个用于表格,一个用于每一行。
表的编码如下所示:
@Component({
tag: 'wb-overview-table',
})
export class WorkbookOverviewTable {
items: Array<any>;
constructor() {
this.items = [ { id: 1, name: "asd" }, { id: 2, name: "qwes" } ];
}
render() {
return (
<table>
{this.items.map(item => {
return (
<wb-overview-table-row item={item}></wb-overview-table-row>
);
})}
</table>
);
}
}
行的编码如下所示:
@Component({
tag: 'wb-overview-table-row',
})
export class WorkbookOverviewTableRow {
@Prop() item: any;
render() {
return (
<tr>
<td>{this.item.id}</td>
<td>{this.item.name}</td>
</tr>
);
}
}
呈现的 html 如下所示:
<wb-overview-table class="hydrated">
<table>
<wb-overview-table-row class="hydrated">
<tr>
<td>1</td>
<td>asd</td>
</tr>
</wb-overview-table-row>
<wb-overview-table-row class="hydrated">
<tr>
<td>2</td>
<td>qwes</td>
</tr>
</wb-overview-table-row>
</table>
</wb-overview-table>
问题是,表的结构不正确。我明白为什么它会这样渲染。但我只是不知道如何正确呈现表格,因此 table-tag 将 tr-tags 作为子元素。构建两个组件的正确方法是什么,一个用于表,一个用于行?
非常感谢!