给tree组件设置为可拖拽(draggable=true),现在要在子节点放个input,我应该如何禁止input的拖拽呢?

目标:我想设置tree的节点可拖拽,而当处于重命名状态时,也就是出现input时,想控制它不可拖拽。
版本:antd@3.10.3
我尝试了下面的做法,但都没用。我也尝试过动态给Tree设置draggable属性,但会出现回闪,体验不太好

<Tree
   draggable={true}
   treeData={[
        {
            key:'',
            icon:'',
            title:<input onDrag={(e)=>{
                       e.preventDefault()
                       e.stopPropagation()
                       return false
                }}
                draggable="false"
            />
        }
    ]}
/>

image.png

阅读 3.7k
2 个回答

应该这样用:
draggable={false}

<Tree
      className="draggable-tree"
      defaultExpandedKeys={expandedKeys}
      draggable={false}
      blockNode
      onDragEnter={onDragEnter}
      onDrop={onDrop}
      treeData={gData}
    />
https://codepen.io/pen?&editors=001
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题