首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我试图创建一个可拖拽的表格/列表,它给出了错误提示'provided.innerRef没有提供HTMLElement。‘

我试图创建一个可拖拽的表格/列表,它给出了错误提示'provided.innerRef没有提供HTMLElement。‘
EN

Stack Overflow用户
提问于 2019-04-26 08:45:41
回答 4查看 2.7K关注 0票数 1

我正在尝试使用Material UI和react-beautiful dnd创建一个可拖动的列表。我按照他们页面上的教程创建了这个-

代码语言:javascript
复制
function DraggableList(props) {
  const { classes, tableHeaders, tasksList } = props;
  return (
    <div>
      <Droppable droppableId="id">
       {(provided) => (
         <div ref={provided.innnerRef} {...provided.droppableProps}>  
           {tasksList && tasksList.slice(0,5).map((row, index) => (
              <Draggable draggableId={row.id} index={index}>
                {(provided)=> (
                  <div index={index} {...provided.draggableProps} {...provided.dragHandleProps} ref={provided.innerRef}> 
                    <Paper className={classes.root} key={row.id}>
                      <Grid container xs={12} className={classes.topContainer}>
                        <Grid item xs={2}>
                          <IconButton><DragIndicatorIcon className={classes.dragIcon}/></IconButton> </Grid>
                        <Grid item xs={10}>
                          <Typography className={classes.activity} variant="body2">{row.name}</Typography>
                        </Grid>
                      </Grid>
                    </Paper>
                   </div>
                )}
              </Draggable>
            ))}
          </div>
        )}
      </Droppable>
    </div>
  );
}

它不停地给我

代码语言:javascript
复制
Error: Invariant failed: 
    provided.innerRef has not been provided with a HTMLElement.

    You can find a guide on using the innerRef callback functions at:
    https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md

错误,尽管我在一个'div‘上设置了innerRef。这里的错误是什么?

EN

回答 4

Stack Overflow用户

发布于 2019-11-28 10:37:35

打字错误:

代码语言:javascript
复制
ref={provided.innnerRef}
票数 3
EN

Stack Overflow用户

发布于 2020-06-17 20:57:14

我也有同样的问题,但我的解决方案却截然不同。我犯了一个愚蠢的错误,用大括号代替了圆括号。所以我就这么做了:

代码语言:javascript
复制
{(provided) => {

而不是:

代码语言:javascript
复制
{(provided) => (

除了“HTMLElement没有提供provided.innerRef”之外,没有任何错误指示。

票数 1
EN

Stack Overflow用户

发布于 2019-10-03 15:59:55

你把你的

provided={已提供}

在同一个div中,它将开始工作。我也有同样的问题,但它得到了解决。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55859339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档