前端大难题之一,求解!!!(已解决)

50 阅读1分钟

问题

场景描述: 当给某个元素设置了拖拽之后,他的子元素有一个input。此时不能通过鼠标滑动来选中文字。

失败尝试

  1. 尝试给input加draggable:false,但是并没有实现。
  2. 通过判断输入框是否聚焦,来动态切换父级的draggable的true or false。虽然能选中,切换的时候,存在显示问题。

成功

给Input添加下面的属性方法

draggable={true}
onDragStart={(event) => {
    event.stopPropagation();
    event.preventDefault();
}}

整体的代码

<Input placeholder="请输入" value={changeName}
                    onChange={e => setChangeName(e.target.value)}
                    onPressEnter={() => onSave(category.categoryID)}
                    draggable={true}
                    onDragStart={(event) => {
                        event.stopPropagation();
                        event.preventDefault();
                    }}
                    suffix={
                        <>
                            {
                                loading?<Icon type="loading" />:<span className="opreate-btn" onClick={() => onSave(category.categoryID)}>
                                    <img src={require("./image/save.png")} />
                                </span>
                            }
                        </>
     } />

欢迎各位大佬留言,提出您的宝贵意见,非常感谢!!!