【发布时间】:2020-01-06 09:57:38
【问题描述】:
我将SortableJS 用于React,并尝试实现水平Grid,因此最终结果将如下所示:
我设法做到了,但是排序功能根本不起作用。我认为这与tag 属性有关。当我尝试tag={Grid} 时出现以下错误:
可排序:el 必须是 HTMLElement,而不是 [object Object]
任何想法如何将Grid 实现到tag 属性?这是我的代码:
<Grid container>
<Sortable options={{ fallbackOnBody: true, group: "items", handle: reorderHandle }} tag={Grid} onChange={handleChange}>
{items.map((item, index) =>
<Paper key={index} data-id={index} className={classes.item} elevation={0}>
<ButtonHelper {...getHandleClass(editable)} key={index} icon={
<Badge badgeContent={index + 1} color="default">
{editable && <ReorderIcon />}
</Badge>}
/>
<Grid item xs={4} key={index}>
<div className={classes.gridItem}>
<GalleryInput className={classes.image} style={{ width: '300px' }} label="image" source={`${source}[${index}].image`} />
<br></br>
<TextInput label="desc" source={`${source}[${index}].desc`} />
{editable && <ButtonHelper icon={<RemoveIcon />} onClick={handleRemove(index)} className={classes.left} />}
</div>
</Grid>
</Paper>
)}
</Sortable>
</Grid>
感谢您的帮助。
【问题讨论】:
标签: reactjs grid sortablejs