首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何防止冲突事件(我认为)的反应?

如何防止冲突事件(我认为)的反应?
EN

Stack Overflow用户
提问于 2020-02-14 15:10:04
回答 1查看 1.3K关注 0票数 2

我用的是react-beautiful-dnd

代码语言:javascript
复制
<DragDropContext>
  <Droppable>
    {(provided, snapshot) => (
      <div>
       <Draggable><Item with Slider></Draggable>
       <Draggable><Item with Slider></Draggable>
       <Draggable><Item with Slider></Draggable>
       <Draggable><Item with Slider></Draggable>
       etc
      </div>
    )}
  </Droppable>
</DragDropContext>  

我的理解是,Draggable将有一些不同的事件侦听器,以允许它检测何时单击/单击和拖动/等等。

我使用的Slider组件也将具有类似的事件(因为我假设它提供了与Draggable类似的事件侦听器)。

我怎样才能做到:

  1. react-beautiful-dnd忽略从某些目标发出的事件

  1. 停止事件传播,这样react-beautiful-dnd就不会接收到事件?

下面的屏幕截图显示了两个滑块- (1)一个反应组件(material-ui)和(2)一个<input type="range" />组件。正常范围工作良好(不会触发拖放),而滑翔机则不会。

EN

回答 1

Stack Overflow用户

发布于 2021-01-04 10:18:22

参见:代码沙箱

要做到这一点,关键是只对添加扩展{...provided.dragHandleProps}到内部div,并确保{...provided.dragHandleProps}是容器父级上的而不是,后者通常是<Draggable>的直接子级。

代码语言:javascript
复制
<Droppable droppableId="featureWidgets">
    {(provided: any) => (
        <div {...provided.droppableProps} ref={provided.innerRef}>
            <FeaturesListView>
            {featureWidgets.map(({id, type}, index) => {
                return (<Draggable key={id} draggableId={id} index={index}>
                            {(provided) => (
                                <div
                                    ref={provided.innerRef} {...provided.draggableProps} ///* NO NO not here  {...provided.dragHandleProps} */
                                    <div {...provided.dragHandleProps}>drag grip handle</div>
                                    <WidgetRow>
                                        <Slider/>
                                    </WidgetRow>
                                </div>
                            )}
                        </Draggable>);
                })}
            {provided.placeholder}
            </FeaturesListView>
        </div>
    )}
</Droppable> 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60228898

复制
相关文章

相似问题

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