首页 > 解决方案 > 如何在 ag-grid 上使用非托管拖动?

问题描述

是否有任何示例显示如何使单列网格可排序和可拖动?(非托管拖动) 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);
    }
  }

标签: javascriptag-gridag-grid-react

解决方案


推荐阅读