8.1.2 • Published 2 years ago
react-free-draggable v8.1.2
react-free-draggable
English | 中文说明
Introduction?
Using the free drag and drop component of Transform, the drag process does not affect the page layout
version8.x
- Remove
ReactDOM.findDOMNode, change to ref reference to get the dom. if children is a function component, you need to wrap it withReact.forwardRef. - Change the parameters of
onStart,onMove,onEndcallbacks property tofixedresetOnEndproperty to indicate whether to restore the position after the drag endproperty is deprecatedchildPropsproperty is deprecatedchildProps- 8.1.0
andshowLayerdeprecated.layerStyle
Draggbale
- Using
tranformto realize element drag and drop movement, high performance, smooth - You can set the drag bounds
boundsto limit the scope of the drag by setting the parent element, Full-screen drag is the default - Other properties of the wrapped
props. children(properties that are not drag related) are not affected byreact-free-draggable. It's still the same as not being wrapped - When set to
position: absolute, you can set thexandyattributes inside theboundselement to control the position of the element
DraggableEvent
- Provide only drag event callbacks and parameters for dragging
- The
eventBoundsproperty can limit the extent of the event object's activity
matters
- children can not be inline elements, because transform does not work on inline elements!
props.childrenis restricted to a single closing tag!xandyattributes are referenced to theboundselement.
install
npm install --save react-free-draggable
# or
yarn add react-free-draggableexample
import Draggable from 'react-free-draggable';
<div className="boxs" style={{ display: 'inline-block', width: '500px', background: "red" }}>
<Draggable
bounds=".boxs"
scale={1}
>
<div style={{ display: "inline-block" }}>
<div className="handle" style={{ display: "inline-block", width: "80px",background: "blue", cursor: "pointer", height: "100%" }} onClick={this.clickToast}>
The Dragging
</div>
</div>
</Draggable>
</div>Attributes
| name | type | defaultValue | description |
|---|---|---|---|
| handle | string / HTMLElement | - | Drag the class selector or element for the element |
| filter | string / HTMLElement | - | A selector or element that does not allow drag and drop |
| enableUserSelectHack | boolean | - | Allows you to add selected styles |
| grid | [number, number] | - | Set X, Y direction amplitude, how much to move the target |
| disabled | boolean | - | disabled drag |
| allowAnyClick | boolean | - | Indicates that drag is allowed without a left mouse click |
| onStart | function | - | the start event |
| onMove | function | - | the dragging event |
| onEnd | function | - | the end event |
| scale | number | 1 | Drag sensitivity |
| x | number | - | The position of the x-axis when the element is position: absolute. |
| y | number | - | The position of the y-axis when the element is position: absolute. |
| direction | ['vertical','horizontal'] | - | the direction of drag and drop |
| positionOffset | {x: number, y: number} | - | Transform position increment |
| bounds | string / HTMLElement / {left: number, right: number, top: number, bottom: number, element: string / HTMLElement } | - | The range within the element, if it is element, the position is range in element, but if it is object, it is the range of the element element |
| resetOnEnd | boolean | - | Restore position when drag end |
8.1.2
2 years ago
8.1.1
2 years ago
8.0.5
3 years ago
8.0.4
3 years ago
8.0.6
3 years ago
8.1.0
3 years ago
7.1.9
3 years ago
8.0.1
3 years ago
8.0.0
3 years ago
8.0.3
3 years ago
8.0.2
3 years ago
7.1.7
3 years ago
7.1.6
3 years ago
7.1.8
3 years ago
7.0.0
4 years ago
7.1.3
4 years ago
7.1.2
4 years ago
7.1.1
4 years ago
7.1.0
4 years ago
7.1.4
4 years ago
6.1.8
4 years ago
6.1.7
4 years ago
6.1.9
4 years ago
6.1.4
4 years ago
6.1.3
4 years ago
6.1.6
4 years ago
6.1.5
4 years ago
6.1.2
4 years ago
6.1.1
4 years ago
6.1.0
4 years ago
6.0.9
4 years ago
6.0.8
4 years ago
6.0.7
4 years ago
6.0.6
4 years ago
6.0.5
4 years ago
6.0.4
4 years ago
6.0.3
4 years ago
6.0.1
4 years ago
6.0.2
4 years ago
6.0.0
4 years ago
5.0.4
4 years ago
5.0.3
4 years ago
5.0.2
4 years ago
5.0.1
4 years ago
5.0.0
4 years ago
4.0.0
5 years ago
3.0.2
5 years ago
3.0.1
5 years ago
3.0.0
5 years ago
2.0.1
5 years ago
2.0.0
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago