【发布时间】:2018-08-14 10:28:24
【问题描述】:
我希望将 material-ui 与 react-beautiful-dnd 结合使用,以制作可排序的表格。但是,使用 material-ui 的表格组件会导致麻烦,因为 TableBody 不会接受 innerRef 并且 TableRow 不会接受 innerRef 和 isDragging。请参阅下面的代码:
<DragDropContext onDragEnd={this.onDragEnd}>
<Fragment>
<Table className={classes.table}>
<TableHead>
<TableRow>
<TableCell />
<TableCell>Name</TableCell>
<TableCell numeric>Number</TableCell>
<TableCell>Time</TableCell>
</TableRow>
</TableHead>
<Droppable droppableId="table">
{(droppableProvided) => (
<TableBody
innerRef={(ref) => {
this.tableRef = ref;
droppableProvided.innerRef(ref);
}}
{...droppableProvided.droppableProps}
>
{this.state.users.map((user, index) => (
<Draggable
draggableId={user.id}
index={index}
key={user.id}
>
{(
provided,
snapshot,
) => (
<TableRow
innerRef={provided.innerRef}
isDragging={snapshot.isDragging}
{...provided.draggableProps}
{...provided.dragHandleProps}
>
<TableCell><DragIndicatorIcon /></TableCell>
<TableCell>{user.name}</TableCell>
<TableCell numeric>{user.number}</TableCell>
<TableCell>10</TableCell>
</TableRow>
)}
</Draggable>
))}
</TableBody>
)}
</Droppable>
</Table>
</Fragment>
</DragDropContext>
如何让 material-ui 与这些属性一起使用?
【问题讨论】:
-
你让它工作了吗?可以分享一下代码吗?
-
我们最终转到了另一个不存在此问题的库 (react-drag-listview)。
-
@Yannick :您可以为stackoverflow.com/questions/63738982/… 提供的任何输入。我想做同样的事情,但在两张桌子之间。
标签: material-ui