Я использую таблицу от Material UI react components library. Мне нужно добавить какое-то настраиваемое поведение в TableRow, поэтому я пытаюсь его разложить (и я планирую обернуть его в свой компонент, чтобы добавить дополнительные ui и логики).Материал Компоненты таблицы пользовательского интерфейса разложение странное поведение
Итак, когда я пытаюсь разложить table component - это разрывает разметку. Как видите, флажки отсутствуют.
See Demo
Мой код:
import React from 'react';
import {Table, TableBody, TableHeader, TableHeaderColumn, TableRow, TableRowColumn} from 'material-ui/Table';
const MyTableRow =() => {
return <TableRow>
<TableRowColumn>1</TableRowColumn>
<TableRowColumn>John Smith</TableRowColumn>
<TableRowColumn>Employed</TableRowColumn>
</TableRow>;
}
const TableExampleSimple =() => (
<Table>
<TableHeader>
<TableRow>
<TableHeaderColumn>ID</TableHeaderColumn>
<TableHeaderColumn>Name</TableHeaderColumn>
<TableHeaderColumn>Status</TableHeaderColumn>
</TableRow>
</TableHeader>
<TableBody>
<MyTableRow />
<MyTableRow />
<MyTableRow />
<TableRow>
<TableRowColumn>2</TableRowColumn>
<TableRowColumn>Randal White</TableRowColumn>
<TableRowColumn>Unemployed</TableRowColumn>
</TableRow>
<TableRow>
<TableRowColumn>4</TableRowColumn>
<TableRowColumn>Steve Brown</TableRowColumn>
<TableRowColumn>Employed</TableRowColumn>
</TableRow>
</TableBody>
</Table>
);
export default TableExampleSimple;
В чем причина такого поведения?
UPD
Существует предположение: TableBody clones children components. Но я до сих пор не знаю, какова наилучшая практика декомпозиции компонентов Table и добавьте какое-то пользовательское поведение. Кто-нибудь может объяснить, как это сделать?
К сожалению, в вашем примере я вижу ту же проблему: флажки отсутствуют. И если вы добавите собственные компоненты TableRow, вы увидите проблему. Я хочу разбить таблицу на свои собственные компоненты, каждая из них обернет собственные компоненты Table и добавит некоторое дополнительное поведение - это идея. – WebBrother