最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue使用 vxe-table實現(xiàn)跨表拖拽多表聯(lián)動互相拖拽數(shù)據(jù)功能

 更新時間:2025年08月28日 09:10:09   作者:qaz666  
使用vxe-table實現(xiàn)跨表拖拽需啟用row-drag-config.isCrossTableDrag,并通過row-config.keyField指定唯一主鍵字段,確保多表格間數(shù)據(jù)聯(lián)動時主鍵不重復,實現(xiàn)行級數(shù)據(jù)在不同表格間的拖拽交互,感興趣的朋友跟隨小編一起看看吧

vue 如何使用 vxe-table 來實現(xiàn)跨表拖拽,多表聯(lián)動互相拖拽數(shù)據(jù)

row-drag-config.isCrossTableDrag 啟用跨表格、多表格互相拖拽;跨表拖拽需要確保數(shù)據(jù)主鍵不重復,通過 row-config.keyField 指定主鍵字段名

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

效果

例如。頁面上加載3個表格,需求是實現(xiàn)跨表格直接可以互相拖拽

代碼

多表格直接互相拖拽需要確保數(shù)據(jù)主鍵不重復,通過 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>
    <vxe-button status="success" @click="resultEvent3">獲取數(shù)據(jù)3</vxe-button>
    <vxe-grid ref="gridRef3" v-bind="gridOptions3"></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: 240,
  rowConfig: {
    drag: true,
    keyField: 'id'
  },
  rowDragConfig: {
    isCrossTableDrag: true // 允許跨表
  },
  columns: [
    { field: 'name', title: 'Name' },
    { field: 'role', title: 'Role', dragSort: true },
    { field: 'sex', title: 'Sex' },
    { field: 'age', title: 'Age' },
    { field: 'address', title: 'Address' }
  ],
  data: [
    { id: 10001, name: 'Test11', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },
    { id: 10002, name: 'Test12', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
    { id: 10003, name: 'Test13', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
    { id: 10004, name: 'Test14', role: 'Test', sex: 'Women', age: 48, address: 'Guangzhou' },
    { id: 10005, name: 'Test15', role: 'PM', sex: 'Man', age: 38, address: 'Shanghai' },
    { id: 10006, name: 'Test16', role: 'Develop', sex: 'Man', age: 42, address: 'Guangzhou' }
  ]
})
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: 240,
  rowConfig: {
    drag: true,
    keyField: 'id'
  },
  rowDragConfig: {
    isCrossTableDrag: true // 允許跨表
  },
  columns: [
    { field: 'name', title: 'Name' },
    { field: 'role', title: 'Role', dragSort: true },
    { field: 'sex', title: 'Sex' },
    { field: 'age', title: 'Age' },
    { field: 'address', title: 'Address' }
  ],
  data: [
    { id: 20001, name: 'Test21', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },
    { id: 20002, name: 'Test22', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
    { id: 20003, name: 'Test23', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
    { id: 20004, name: 'Test24', role: 'Test', sex: 'Women', age: 48, address: 'Guangzhou' },
    { id: 20005, name: 'Test25', role: 'PM', sex: 'Man', age: 38, address: 'Shanghai' },
    { id: 20006, name: 'Test26', role: 'Develop', sex: 'Man', age: 42, address: 'Guangzhou' }
  ]
})
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'
    })
  }
}
const gridRef3 = ref()
const gridOptions3 = reactive({
  border: true,
  height: 240,
  rowConfig: {
    drag: true,
    keyField: 'id'
  },
  rowDragConfig: {
    isCrossTableDrag: true // 允許跨表
  },
  columns: [
    { field: 'name', title: 'Name' },
    { field: 'role', title: 'Role', dragSort: true },
    { field: 'sex', title: 'Sex' },
    { field: 'age', title: 'Age' },
    { field: 'address', title: 'Address' }
  ],
  data: [
    { id: 30001, name: 'Test31', role: 'Develop', sex: 'Man', age: 28, address: 'test abc' },
    { id: 30002, name: 'Test32', role: 'Test', sex: 'Women', age: 22, address: 'Guangzhou' },
    { id: 30003, name: 'Test33', role: 'PM', sex: 'Man', age: 32, address: 'Shanghai' },
    { id: 30004, name: 'Test34', role: 'Test', sex: 'Women', age: 48, address: 'Guangzhou' },
    { id: 30005, name: 'Test35', role: 'PM', sex: 'Man', age: 38, address: 'Shanghai' },
    { id: 30006, name: 'Test36', role: 'Develop', sex: 'Man', age: 42, address: 'Guangzhou' }
  ]
})
const resultEvent3 = () => {
  const $grid = gridRef3.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

到此這篇關于vue使用 vxe-table實現(xiàn)跨表拖拽多表聯(lián)動互相拖拽數(shù)據(jù)功能的文章就介紹到這了,更多相關vue vxe-table跨表拖拽內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue組件間通信解析

    vue組件間通信解析

    這篇文章主要為大家詳細介紹了vue組件間通信解析,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • 如何監(jiān)聽Vue項目報錯的4種方式?

    如何監(jiān)聽Vue項目報錯的4種方式?

    本文主要介紹了如何監(jiān)聽Vue項目報錯的4種方式,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue在項目中如何引入本地Json數(shù)據(jù)

    Vue在項目中如何引入本地Json數(shù)據(jù)

    這篇文章主要介紹了Vue在項目中如何引入本地Json數(shù)據(jù)問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • vue3超出文本展示el tooltip實現(xiàn)示例

    vue3超出文本展示el tooltip實現(xiàn)示例

    這篇文章主要為大家介紹了vue3超出文本展示el tooltip實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-02-02
  • Vue異步更新機制及$nextTick原理的深入講解

    Vue異步更新機制及$nextTick原理的深入講解

    最近在學習一些底層方面的知識,所以想做個系列嘗試去聊聊這些比較復雜又很重要的知識點,下面這篇文章主要給大家介紹了關于Vue異步更新機制及$nextTick原理的相關資料,需要的朋友可以參考下
    2022-04-04
  • Vue3根據(jù)動態(tài)字段綁定v-model的操作代碼

    Vue3根據(jù)動態(tài)字段綁定v-model的操作代碼

    最近在學習vue技術,開發(fā)表格的時候,想把表格做成組件,那查詢條件就需要動態(tài)生成,這就遇到一個問題,vue怎么動態(tài)給v-model變量值,本文通過實例代碼給大家介紹,對Vue3動態(tài)綁定v-model實例代碼感興趣的朋友一起看看吧
    2022-10-10
  • Vue3項目中優(yōu)雅實現(xiàn)微信授權登錄的方法

    Vue3項目中優(yōu)雅實現(xiàn)微信授權登錄的方法

    用戶在微信端中訪問第三方網(wǎng)頁,可以通過微信網(wǎng)頁授權機制獲取用戶的基本信息,進而實現(xiàn)所需要的業(yè)務邏輯,這篇文章主要給大家介紹了關于Vue3項目中優(yōu)雅實現(xiàn)微信授權登錄的相關資料,需要的朋友可以參考下
    2021-09-09
  • vue父組件點擊觸發(fā)子組件事件的實例講解

    vue父組件點擊觸發(fā)子組件事件的實例講解

    下面小編就為大家分享一篇vue父組件點擊觸發(fā)子組件事件的實例講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue如何將style私有化

    vue如何將style私有化

    在?Vue.js?中,你可以通過多種方式將樣式私有化,以確保樣式只作用于特定的組件,避免全局污染,本文整理了一些常用的方法,希望對大家有所幫助
    2024-11-11
  • vuex中getters的基本用法解讀

    vuex中getters的基本用法解讀

    這篇文章主要介紹了vuex中getters的基本用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-09-09

最新評論

遂昌县| 高要市| 沂源县| 靖远县| 南京市| 漳平市| 张家港市| 文昌市| 保亭| 苏州市| 浙江省| 辽宁省| 辽源市| 黄大仙区| 克什克腾旗| 临朐县| 唐海县| 岑溪市| 洪湖市| 竹溪县| 镇远县| 拜泉县| 津市市| 蛟河市| 焦作市| 甘南县| 民县| 新巴尔虎右旗| 西丰县| 建德市| 平江县| 沾化县| 赣州市| 璧山县| 蒲江县| 依兰县| 河东区| 科尔| 台安县| 苏尼特左旗| 建湖县|