From cbdf0db32c012beca17ea7c2e038cd0e43f77661 Mon Sep 17 00:00:00 2001 From: tengge1 <930372551@qq.com> Date: Wed, 6 Nov 2019 21:20:29 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ShadowEditor.Web/src/ui/tree/Tree.jsx | 56 +++++++++++++++++---------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/ShadowEditor.Web/src/ui/tree/Tree.jsx b/ShadowEditor.Web/src/ui/tree/Tree.jsx index ffc1b7d1..7955fc57 100644 --- a/ShadowEditor.Web/src/ui/tree/Tree.jsx +++ b/ShadowEditor.Web/src/ui/tree/Tree.jsx @@ -34,26 +34,32 @@ class Tree extends React.Component { const { className, style, data } = this.props; // 创建节点 - var list = []; + let list = []; Array.isArray(data) && data.forEach(n => { list.push(this.createNode(n)); }); - return ; + return ; } createNode(data) { const leaf = !data.children || data.children.length === 0; - const children = leaf ? null : (; let checkbox = null; if (data.checked === true || data.checked === false) { - checkbox = ; + checkbox = ; } return
  • - + onDrop={this.handleDrop} + > + {checkbox} - + {data.text} {data.icons && data.icons.map(n => { - return ; + return ; })} {leaf ? null : children}
  • ; @@ -117,7 +133,7 @@ class Tree extends React.Component { handleClick(onSelect, event) { event.stopPropagation(); - var value = event.target.getAttribute('value'); + let value = event.target.getAttribute('value'); if (value) { onSelect && onSelect(value, event); } @@ -160,13 +176,13 @@ class Tree extends React.Component { event.preventDefault(); event.stopPropagation(); - var target = event.currentTarget; + let target = event.currentTarget; if (target === this.currentDrag) { return; } - var area = event.nativeEvent.offsetY / target.clientHeight; + let area = event.nativeEvent.offsetY / target.clientHeight; if (area < 0.25) { target.classList.add('dragTop'); @@ -181,7 +197,7 @@ class Tree extends React.Component { event.preventDefault(); event.stopPropagation(); - var target = event.currentTarget; + let target = event.currentTarget; if (target === this.currentDrag) { return; @@ -196,7 +212,7 @@ class Tree extends React.Component { event.preventDefault(); event.stopPropagation(); - var target = event.currentTarget; + let target = event.currentTarget; if (target === this.currentDrag) { return; @@ -206,7 +222,7 @@ class Tree extends React.Component { target.classList.remove('dragBottom'); target.classList.remove('drag'); - if (typeof (onDrop) === 'function') { + if (typeof onDrop === 'function') { const area = event.nativeEvent.offsetY / target.clientHeight; const currentValue = this.currentDrag.getAttribute('value'); @@ -215,19 +231,19 @@ class Tree extends React.Component { onDrop( currentValue, // 拖动要素 target.parentNode.parentNode.getAttribute('value'), // 新位置父级 - target.getAttribute('value'), // 新位置索引 + target.getAttribute('value') // 新位置索引 ); // 拖动, 父级, 索引 } else if (area > 0.75) { // 放在当前元素后面 onDrop( currentValue, target.parentNode.parentNode.getAttribute('value'), - target.nextSibling == null ? null : target.nextSibling.getAttribute('value'), // target.nextSibling为null,说明是最后一个位置 + !target.nextSibling ? null : target.nextSibling.getAttribute('value') // target.nextSibling为null,说明是最后一个位置 ); } else { // 成为该元素子级 onDrop( currentValue, target.getAttribute('value'), - null, + null ); } } @@ -244,7 +260,7 @@ Tree.propTypes = { onCheck: PropTypes.func, onDoubleClick: PropTypes.func, onClickIcon: PropTypes.func, - onDrop: PropTypes.func, + onDrop: PropTypes.func }; Tree.defaultProps = { @@ -257,7 +273,7 @@ Tree.defaultProps = { onCheck: null, onDoubleClick: null, onClickIcon: null, - onDrop: null, + onDrop: null }; export default Tree; \ No newline at end of file