Browse Source

可从后往前选;支持del删除

zhouna 5 years atrás
parent
commit
6f5256a7ce
3 changed files with 14 additions and 3 deletions
  1. 7 1
      src/containers/eleType.js
  2. 1 1
      src/modules/HomePage/index.jsx
  3. 6 1
      src/utils/utils.js

+ 7 - 1
src/containers/eleType.js

@@ -193,7 +193,13 @@ export default function(params){
   const {homePage} = store.getState();
   const {select_start,select_end,select_boxMark}=homePage;
   const {i,boxMark}=params;
-  const isInArea = select_start!==undefined&&select_end!==undefined&&(select_start<i||select_start==i)&&(select_end>i||select_end==i);
+  let start = select_start;
+  let end = select_end;
+  if(start>end){    //从后往前选
+    start = select_end;
+    end = select_start;
+  }
+  const isInArea = start!==undefined&&end!==undefined&&(start<i||start==i)&&(end>i||end==i);
   params.mouseSelected = select_boxMark===boxMark&&isInArea;
   const data = params.item;
   switch (+data.tagType) {

+ 1 - 1
src/modules/HomePage/index.jsx

@@ -75,7 +75,7 @@ class HomePage extends Component {
   handleKeyUp(e){
       const {deleteLabels} = this.props;
     //删除选中标签
-    if(e.keyCode==8){
+    if(e.keyCode==8||e.keyCode==46){      //backspace或del都可删除
       deleteLabels();
     }
   }

+ 6 - 1
src/utils/utils.js

@@ -240,7 +240,12 @@ export async function getBigPush(type,symData,save){
 export function deleteSelectedLabels(state,action){
   let res = Object.assign({}, state);
   const {start,end} = action;
-  res.data.splice(start,end-start);
+  if(start>end){      //从后往前选中
+    res.data.splice(end,start-end);
+  }else{
+    res.data.splice(start,end-start);
+  }
+
   res.update = Math.random();
   return res;
 }