a-table table drag and drop

 <a-table
      :row-key="tableKey"
      :columns="colList"
      :loading="loading"
      :pagination="pagination"
      :data-source="datasource"
      :row-selection="rowSelection"
      :size="size"
      :scroll="tableScroll"
      :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-striped' : null)"
      class="ant-table-striped"
      @change="fetch"
      :customRow="customRow"
    >
    ..................
    .....
     </a-table>
 // 表格拖拽
    function customRow(record, index) {
      if (props.isDrag) {
        return {
          style: {
            cursor: 'move'
          },
          // 鼠标移入
          onMouseenter: event => {
            var ev = event || window.event
            ev.target.draggable = true 
          },
          // 开始拖拽
          onDragstart: event => {
            var ev = event || window.event
            ev.stopPropagation()
            state.index1= index
          },
          // 拖动元素经过的元素
          onDragover: event => {
            var ev = event || window.event
            ev.preventDefault()
          },
          // 鼠标松开
          onDrop: event => {
            var ev = event || window.event
            ev.stopPropagation()
            state.index2= index
            [state.datasource[state.index1], state.datasource[state.index2]] = [
              state.datasource[state.index2],
              state.datasource[state.index1]
            ]
          }
        }
      }
    }

Guess you like

Origin blog.csdn.net/weixin_43400431/article/details/127976970