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

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

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

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

row-drag-config.isCrossTableDrag 啟用跨表格、多表格互相拖拽;跨表拖拽需要確保數(shù)據(jù)主鍵不重復(fù),通過 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個(gè)表格,需求是實(shí)現(xiàn)跨表格直接可以互相拖拽

代碼

多表格直接互相拖拽需要確保數(shù)據(jù)主鍵不重復(fù),通過 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

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

相關(guān)文章

  • vue組件間通信解析

    vue組件間通信解析

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

    如何監(jiān)聽Vue項(xiàng)目報(bào)錯(cuò)的4種方式?

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

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

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

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

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

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

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

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

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

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

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

    vue父組件點(diǎn)擊觸發(fā)子組件事件的實(shí)例講解

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

    vue如何將style私有化

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

    vuex中g(shù)etters的基本用法解讀

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

最新評論

息烽县| 新竹县| 济南市| 葵青区| 康保县| 汉源县| 江门市| 利辛县| 扎囊县| 衡山县| 丹阳市| 南充市| 河曲县| 内乡县| 额敏县| 公主岭市| 新泰市| 兴隆县| 莒南县| 广东省| 紫阳县| 邢台县| 柘荣县| 六安市| 田东县| 九龙坡区| 青海省| 泽州县| 朝阳县| 大庆市| 通州市| 武安市| 馆陶县| 大方县| 永兴县| 鱼台县| 商都县| 佛教| 独山县| 南丰县| 宣武区|