每个表行中的语义UI(React)映射手风琴

问题描述 投票:0回答:1

我正在寻找解决方案,我将数据映射到手风琴的每个表行,通过点击它,它将扩展表行下的<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>
reactjs semantic-ui semantic-ui-react
1个回答
0
投票

这对我有用(与你的用例不一样)

但这个想法是让手风琴“作为”一个桌子。然后面板充当行。这使它工作

<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>
© www.soinside.com 2019 - 2024. All rights reserved.