Skip to content

Commit 784e2bb

Browse files
authored
chore: Drag should not trigger selection (#1009)
* fix: drag should not select content * test: add test case
1 parent 75bec0a commit 784e2bb

3 files changed

Lines changed: 9 additions & 0 deletions

File tree

docs/examples/editable.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ export default () => {
4141
}}
4242
/>
4343
</div>
44+
45+
<p>Here is a word that drag should not select it</p>
4446
</div>
4547
);
4648
};

src/hooks/useDrag.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,7 @@ function useDrag(
108108

109109
const onStartMove: OnStartMove = (e, valueIndex, startValues?: number[]) => {
110110
e.stopPropagation();
111+
e.preventDefault();
111112

112113
// 如果是点击 track 触发的,需要传入变化后的初始值,而不能直接用 rawValues
113114
const initialValues = startValues || rawValues;

tests/Range.test.tsx

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,19 @@ describe('Range', () => {
3030
const mouseDown = createEvent.mouseDown(ele);
3131
(mouseDown as any).pageX = start;
3232
(mouseDown as any).pageY = start;
33+
34+
const preventDefault = jest.fn();
35+
3336
Object.defineProperties(mouseDown, {
3437
clientX: { get: () => start },
3538
clientY: { get: () => start },
39+
preventDefault: { value: preventDefault },
3640
});
3741

3842
fireEvent.mouseEnter(ele);
3943
fireEvent(ele, mouseDown);
44+
45+
expect(preventDefault).toHaveBeenCalled();
4046
}
4147

4248
function doMouseMove(

0 commit comments

Comments
 (0)