如何在ag-grid上使用非托管拖动?

时间:2020-09-23 03:59:20

标签: javascript ag-grid ag-grid-react

有没有显示如何使单列网格可排序和可拖动的示例? (非托管拖动) onRowDragMove事件无法正确触发。

每行是一个只有两个键值对的对象:名称和路径。这就是我尝试过的

   function onRowDrag(e) {
    console.log('row drag()')
    let movingNode = e.node;
    let overNode = e.overNode;
    let rowStore = e.api.getRenderedNodes();
    console.dir(rowStore);
  
    let rowNeedsToMove = movingNode !== overNode;
  
    if (rowNeedsToMove) {
      // the list of rows we have is data, not row nodes, so extract the data
      let movingData = movingNode.data;
      let overData = overNode.data;
  
      let fromIndex = rowStore.indexOf(movingData);
      let toIndex = rowStore.indexOf(overData);
  
      let newStore = rowStore.slice();
      moveInArray(newStore, fromIndex, toIndex);
  
      rowStore = newStore;
      e.api.setRowData(newStore);
  
      e.api.clearFocusedCell();
    }
  
    function moveInArray(arr, fromIndex, toIndex) {
      var element = arr[fromIndex];
      arr.splice(fromIndex, 1);
      arr.splice(toIndex, 0, element);
    }
  }

0 个答案:

没有答案