我正在寻找一种解决方案,该方法是使用手风琴将数据映射到每个表行,在该行上单击,将展开表行下方的<div>
。
这是我到目前为止所拥有的数据到TableRow的映射:
var mappedOrders = sortedOrders.map(order => {
return (
<Table.Row key={order._id}>
<Table.Cell>{order.address.lastName + " " + order.address.firstName}</Table.Cell>
<Table.Cell>{order.payment.vs}</Table.Cell>
<Table.Cell>
<Button onClick={this.openOrderDetails(order)} style={{ padding: '0.3em' }} size='medium' icon='edit' />
<Button style={{ padding: '0.3em' }} size='medium' icon='check' />
<Button style={{ padding: '0.3em' }} size='medium' icon='file pdf' />
<Button style={{ padding: '0.3em' }} size='medium' icon='shipping fast' />
<Button style={{ padding: '0.3em' }} size='medium' icon='close' />
</Table.Cell>
</Table.Row>
)
}
)
<Table compact padded selectable basic='very'>
<Table.Header>
<Table.Row style={{ textAlign: 'center' }}>
<Table.HeaderCell width={2}>Name</Table.HeaderCell>
<Table.HeaderCell width={1}>VS</Table.HeaderCell>
<Table.HeaderCell width={3}>Actions</Table.HeaderCell>
</Table.Row>
</Table.Header>
<Table.Body>
{mappedOrders}
</Table.Body>
</Table>
答案 0 :(得分:0)
这对我有用(与您的用例不同)
但是想法是让手风琴“充当” table.body,然后面板充当行。这样就可以了
<Table>
<Table.Header>
<Table.HeaderCell>Node Type</Table.HeaderCell>
<Table.HeaderCell>Display</Table.HeaderCell>
</Table.Header>
<Accordion
fluid={true}
as={Table.Body}
panels={this.props.visibleNodes.map(n => {
return {
key: n.id,
class: "tr",
title: {
as: Table.Row,
className: "",
children: [
<Table.Cell key={`${n.id}_type`}>{n._node_type}</Table.Cell>,
<Table.Cell key={`${n.id}_display`}>{n._display}</Table.Cell>
]
},
content: {
children: JSON.stringify(n.properties)
}
};
})}
/>
</Table>