Closed sawokd closed 1 year ago
设置了disabledSort:true,to就是中的index就是-1
请问从左表拖动到右表 老鼠标没有松的时候 左表可以不动态显示他放的位置吗?我设置了disabledSort:true,返回参数里面的index为-1 你好,设置disabledSort: true,会禁止拖放的时候产生交换动画,不会影响你的右边表的onUpdate和onAdd回调,这个我用了挺复杂的场景,没有发现有这种问题,我自己做设计器也用了disabledSort: true. 你可以把你的两个表,怎么用的截图出来,然后指出哪个回调出了问题我试图看看
我现在就是启的你的demo
import React, { useState } from 'react';
import "./index.less";
import DndSortable, { DndProps } from "../../src/index";
const Home: React.FC<any> = (props) => {
const [part1, setPart1] = useState([1, 2, 3, 4, 5])
const [part2, setPart2] = useState([6, 7, 8, 9, 10])
const onStart: DndProps['onStart'] = (params) => {
const { from } = params;
const formIndex = from?.index
console.log(formIndex, 'onStart');
}
const onEnd: DndProps['onEnd'] = (params) => {
const { e, from, to } = params;
console.log(to, 'onEnd');
}
return (
<div>
<p>part1</p>
<DndSortable
onStart={onStart}
onEnd={onEnd}
collection={{ group: 'part1' }} // custome props
style={{ display: 'flex', flexWrap: 'wrap', background: 'blue', width: '200px', marginTop: '10px' }}
options={{
hiddenFrom: false,
}}>
{
part1?.map((item, index) => (<div style={{ width: '50px', height: '50px', backgroundColor: 'red', border: '1px solid green' }} key={index}>{item}</div>))
}
</DndSortable>
<p>part2</p>
<DndSortable
onStart={onStart}
onEnd={onEnd}
collection={{ group: 'part2' }} // custome props
style={{ display: 'flex', flexWrap: 'wrap', background: 'gray', width: '200px', marginTop: '10px' }}
options={{
hiddenFrom: true,
disabledSort: true,
}}>
{
part2?.map((item, index) => (<div style={{ width: '50px', height: '50px', backgroundColor: 'red', border: '1px solid green' }} key={index}>{item}</div>))
}
</DndSortable>
</div>
);
};
export default Home;
我将part2设置disabledSort: true,从part1拖过去 to是-1
我现在的使用场景就是说 a可以拖到b去,b不能拖到a去,a拖到b去时鼠标没松的过程中不想在b出现a拖过去的内容
应该是 暂时不支持这个场景把?哈哈...
应该是 暂时不支持这个场景把?哈哈...
代码比较久远,刚刚去回忆了一下,没错,按照现在代码来看,index必须要有插入动作才能得到。但是最初设计是也支持这种场景的,因为后续还有升级计划所以暂时搁置了,目前还是有一些小问题的比如ref传递。暂时使用可以避免在需要index的地方使用disabledSort: true. 此库对标sortablejs,如果升级成功,体积和灵活度会更好一些
目前已修复问题
请问从左边表拖动到右边表 鼠标没松的时候 左边表可以不动态显示他放的位置吗? 我设置了disabledSort:true,回调参数to里面的index为-1