<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      如何用 vxe-table 實(shí)現(xiàn)2個(gè)樹(shù)表格可以互相拖拽數(shù)據(jù)

      如何用 vxe-table 實(shí)現(xiàn)2個(gè)樹(shù)表格可以互相拖拽數(shù)據(jù)
      row-drag-config.isCrossTableDrag 啟用跨表格、多表格互相拖拽。

      查看官網(wǎng):https://vxetable.cn
      gitbub:https://github.com/x-extends/vxe-table
      gitee:https://gitee.com/x-extends/vxe-table

      效果

      Video_2025-09-10_213439-ezgif.com-video-to-gif-converter

      代碼

      跨表拖拽需要確保數(shù)據(jù)主鍵不重復(fù),通過(guò) row-config.keyField 指定主鍵字段名

      <template>
        <div>
          <vxe-button status="success" @click="resultEvent1">獲取數(shù)據(jù)1</vxe-button>
          <vxe-grid ref="gridRef1" v-bind="gridOptions1"></vxe-grid>
      
          <vxe-button status="success" @click="resultEvent2">獲取數(shù)據(jù)2</vxe-button>
          <vxe-grid ref="gridRef2" v-bind="gridOptions2"></vxe-grid>
        </div>
      </template>
      
      <script setup>
      import { ref, reactive } from 'vue'
      import { VxeUI } from 'vxe-pc-ui'
      
      const gridRef1 = ref()
      const gridOptions1 = reactive({
        border: true,
        height: 300,
        rowConfig: {
          drag: true,
          keyField: 'id'
        },
        rowDragConfig: {
          isCrossDrag: true, // 允許跨級(jí)
          isCrossTableDrag: true // 允許跨表
        },
        treeConfig: {
          transform: true,
          rowField: 'id',
          parentField: 'parentId'
        },
        columns: [
          { type: 'seq', width: 70 },
          { field: 'name', title: 'Name', minWidth: 300, treeNode: true, dragSort: true },
          { field: 'size', title: 'Size' },
          { field: 'type', title: 'Type' },
          { field: 'date', title: 'Date' }
        ],
        data: [
          { id: 110000, parentId: null, name: 'Test101', type: 'mp3', size: 1024, date: '2020-08-01' },
          { id: 110050, parentId: null, name: 'Test102', type: 'mp4', size: 0, date: '2021-04-01' },
          { id: 124300, parentId: 110050, name: 'Test103', type: 'avi', size: 1024, date: '2020-03-01' },
          { id: 120045, parentId: 124300, name: 'Test104', type: 'html', size: 600, date: '2021-04-01' },
          { id: 110053, parentId: 124300, name: 'Test105', type: 'avi', size: 0, date: '2021-04-01' },
          { id: 124330, parentId: 110053, name: 'Test106', type: 'txt', size: 25, date: '2021-10-01' },
          { id: 121011, parentId: 110053, name: 'Test107', type: 'pdf', size: 512, date: '2020-01-01' },
          { id: 122200, parentId: 110053, name: 'Test108', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 123666, parentId: null, name: 'Test109', type: 'xlsx', size: 2048, date: '2020-11-01' },
          { id: 123677, parentId: 123666, name: 'Test110', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 123671, parentId: 123677, name: 'Test111', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 123672, parentId: 123677, name: 'Test112', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 123688, parentId: 123666, name: 'Test113', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 123681, parentId: 123688, name: 'Test114', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 123682, parentId: 123688, name: 'Test115', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 124555, parentId: null, name: 'Test116', type: 'avi', size: 224, date: '2020-10-01' },
          { id: 124566, parentId: 124555, name: 'Test117', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 124577, parentId: 124555, name: 'Test118', type: 'js', size: 1024, date: '2021-06-01' }
        ]
      })
      const resultEvent1 = () => {
        const $grid = gridRef1.value
        if ($grid) {
          const { insertRecords, removeRecords } = $grid.getRecordset()
          const tableData = $grid.getFullData()
          VxeUI.modal.message({
            content: `新增:${insertRecords.length} 刪除:${removeRecords.length} 現(xiàn)有:${tableData.length}`,
            status: 'success'
          })
        }
      }
      
      const gridRef2 = ref()
      const gridOptions2 = reactive({
        border: true,
        height: 300,
        rowConfig: {
          drag: true,
          keyField: 'id'
        },
        rowDragConfig: {
          isCrossDrag: true, // 允許跨級(jí)
          isCrossTableDrag: true // 允許跨表
        },
        treeConfig: {
          transform: true,
          rowField: 'id',
          parentField: 'parentId'
        },
        columns: [
          { type: 'seq', width: 70 },
          { field: 'name', title: 'Name', minWidth: 300, treeNode: true, dragSort: true },
          { field: 'size', title: 'Size' },
          { field: 'type', title: 'Type' },
          { field: 'date', title: 'Date' }
        ],
        data: [
          { id: 210000, parentId: null, name: 'Test201', type: 'mp3', size: 1024, date: '2020-08-01' },
          { id: 210050, parentId: null, name: 'Test202', type: 'mp4', size: 0, date: '2021-04-01' },
          { id: 224300, parentId: 210050, name: 'Test203', type: 'avi', size: 1024, date: '2020-03-01' },
          { id: 220045, parentId: 224300, name: 'Test204', type: 'html', size: 600, date: '2021-04-01' },
          { id: 210053, parentId: 224300, name: 'Test205', type: 'avi', size: 0, date: '2021-04-01' },
          { id: 224330, parentId: 210053, name: 'Test206', type: 'txt', size: 25, date: '2021-10-01' },
          { id: 221011, parentId: 210053, name: 'Test207', type: 'pdf', size: 512, date: '2020-01-01' },
          { id: 222200, parentId: 210053, name: 'Test208', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 223666, parentId: null, name: 'Test209', type: 'xlsx', size: 2048, date: '2020-11-01' },
          { id: 223677, parentId: 223666, name: 'Test210', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 223671, parentId: 223677, name: 'Test211', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 223672, parentId: 223677, name: 'Test212', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 223688, parentId: 223666, name: 'Test213', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 223681, parentId: 223688, name: 'Test214', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 223682, parentId: 223688, name: 'Test215', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 224555, parentId: null, name: 'Test216', type: 'avi', size: 224, date: '2020-10-01' },
          { id: 224566, parentId: 224555, name: 'Test217', type: 'js', size: 1024, date: '2021-06-01' },
          { id: 224577, parentId: 224555, name: 'Test218', type: 'js', size: 1024, date: '2021-06-01' }
        ]
      })
      const resultEvent2 = () => {
        const $grid = gridRef2.value
        if ($grid) {
          const { insertRecords, removeRecords } = $grid.getRecordset()
          const tableData = $grid.getFullData()
          VxeUI.modal.message({
            content: `新增:${insertRecords.length} 刪除:${removeRecords.length} 現(xiàn)有:${tableData.length}`,
            status: 'success'
          })
        }
      }
      </script>
      

      https://gitee.com/x-extends/vxe-table

      posted @ 2025-09-11 08:33  可不簡(jiǎn)單  閱讀(53)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 啊┅┅快┅┅用力啊岳网站| 国产中文字幕精品免费| 夜夜嗨久久人成在日日夜夜| 日韩在线一区二区每天更新| 青青草一区在线观看视频| 国产三级精品福利久久| 久久精品国产福利亚洲av| 特级做a爰片毛片免费看无码| 性欧美三级在线观看| аⅴ天堂中文在线网| 国99久9在线 | 免费| а天堂中文最新一区二区三区| 亚洲无线码中文字幕在线| 国产一区日韩二区欧美三区| 亚洲人成网7777777国产| 成人亚洲精品一区二区三区 | 亚洲国产成人久久综合野外| 欧美高清精品一区二区| 一区二区三区午夜无码视频| 线观看的国产成人av天堂| 亚洲一二三区精品美妇| 无码av波多野结衣| 狠狠躁夜夜人人爽天96| 无码国模国产在线观看免费| 欧美巨大极度另类| 久久亚洲国产成人亚| 国产一区二区三区黄色片| 精品尤物国产尤物在线看| 欧美另类videossexo高潮 | 国产午夜成人久久无码一区二区 | 成人啪精品视频网站午夜| 深夜在线观看免费av| 思思99热精品在线| 午夜欧美日韩在线视频播放| 国产成人亚洲精品狼色在线| 国产天美传媒性色av高清| 999精品全免费观看视频| 久久大香伊蕉在人线免费AV| 亚洲精品成人福利网站| 国产午夜成人久久无码一区二区| 国产成人AV大片大片在线播放|