嘿,所以我有一点用 React konva 编写的拖放游戏。我的可拖动部分看起来像这样(为方便起见进行了简化
return this.props.areas.map((area) =>
<Image draggable=true
{...area.imageProps}
onDragStart={() => {...}}
onDragEnd={() => {...}}
onDragMove={() => {...}}/> )
我希望当前被拖动的部分是最高层(最高 zIndex)上的部分。
问题是 React-Konva 不支持 zIndexing,并且似乎希望您根据渲染方法中的顺序强制执行 zIndexing。
我的解决方案是用 currentDragIndex 更新 reactState
...<Image
onDragStart = {this.setState({currentDragIndex: area.index})}
/>
然后我尝试在渲染方法中重新排序。但是,这会导致拖动事件被中断。
有人对此有很好的解决方案吗?