reactjs react-beautiful-dnd中的“无法找到拖动句柄”错误

rkttyhzu  于 2023-01-25  发布在  React
关注(0)|答案(2)|浏览(397)

我有一个要拖放的卡片列表。我希望用户可以通过按下特定位置进行拖放(div)在卡片上(不是整张卡)。我把这个div转移到子组件,并在这个div上添加**{... provided.dragHandleProps}**。一切正常,但我在控制台中出错,找不到拖动句柄。如何解决此问题?

const posts = (
      <DragDropContext onDragEnd={this.dragDrop}>
        <Droppable droppableId="dragCards">
          {(provided) => (
            <div ref={provided.innerRef}>
              {cards.map((item, index) => {
                return (                    
                      <Draggable draggableId={item.key} index={index}>
                        {(provided) => (
                          <div                    
                            ref={provided.innerRef}
                            {...provided.draggableProps}
                          >
                            <Cards                                                              
                              dragChip={
                                <div {...provided.dragHandleProps}>
                                  {dragChip}
                                </div>
                              }  />
                          </div>
                        )}
                      </Draggable>                       
                );
              })}
              {provided.placeholder}
            </div>
          )}
        </Droppable>
      </DragDropContext>
    );

这是div,我将它传递给子组件。

const dragChip = (
      <div >
        drag me
      </div>
    );
bvuwiixz

bvuwiixz1#

看起来您的<Draggable>需要一个密钥。

之前一月一日
之后一月二日

https://github.com/atlassian/react-beautiful-dnd/issues/1673#issuecomment-571293508

2fjabf4q

2fjabf4q2#

你可以把div中的props展开到拖拽芯片组件中,如果你想有条件的拖拽,那么你可以使用可拖拽组件的isDragDisabled prop

相关问题