vxe-table 如何實現鼠標選擇多個單元格的複製粘貼功能,多個區域複製粘貼,當需要對相同列數的跨行或相同行數的跨列的多個區域進行復制粘貼時,可以通過 clip-config.isAcrossRow 與 clip-config.isAcrossColumn 啓用
https://vxetable.cn
<template>
<div>
<vxe-grid v-bind="gridOptions"></vxe-grid>
</div>
</template>
<script setup>
import { reactive } from 'vue'
const gridOptions = reactive({
border: true,
height: 500,
showOverflow: true,
columnConfig: {
resizable: true
},
mouseConfig: {
area: true // 是否開啓區域選取
},
areaConfig: {
multiple: true, // 是否啓用多區域選取功能
showColumnStatus: true, // 選擇單元格後顯示列狀態
showRowStatus: true // 選擇單元格後顯示行狀態
},
editConfig: {
mode: 'cell', // 單元格編輯模式
trigger: 'dblclick' // 雙擊單元格激活編輯狀態
},
keyboardConfig: {
isAll: true, // 是否啓用快捷鍵全選
isClip: true, // 是否開啓複製粘貼
isEdit: true, // 是否開啓任意鍵進入編輯(功能鍵除外)
isDel: true, // 是否開啓刪除鍵功能
isEsc: true // 是否開啓Esc鍵關閉編輯功能
},
clipConfig: {
isAcrossRow: true, // 是否啓用對相同列數的跨行選取多區域進行復制粘貼
isAcrossColumn: true // 是否啓用對相同行數的跨列選取多區域進行復制粘貼
},
columns: [
{ type: 'seq', fixed: 'left', width: 60 },
{ field: 'name', fixed: 'left', title: '名字', editRender: { name: 'input' } },
{ field: 'role', title: '角色', editRender: { name: 'input' } },
{ field: 'nickname', title: '暱稱', editRender: { name: 'input' } },
{ field: 'address', title: '地址', width: 200, editRender: { name: 'input' } }
],
data: [
{ id: 10001, name: '張三', role: '前端開發', nickname: '張三來了', sex: '0', num: 23, age: 28, address: '北京市17號' },
{ id: 10002, name: '李四', role: '測試人員', nickname: '', sex: '1', num: 23, age: 22, address: '江蘇省27號' },
{ id: 10003, name: '老六', role: '項目經理', nickname: '專業老六', sex: '0', num: 23, age: 32, address: '深圳市19號' },
{ id: 10004, name: '小李', role: '後端開發', nickname: '', sex: '1', num: 456, age: 24, address: '江蘇省47號' },
{ id: 10005, name: '老萬', role: '設計師', nickname: '', sex: '1', num: 23, age: 42, address: '北京市18號' },
{ id: 10006, name: '小劉', role: '前端開發', nickname: '', sex: '0', num: 23, age: 38, address: '上海市17號' },
{ id: 10007, name: '老徐', role: '測試人員', nickname: '', sex: '1', num: 100, age: 24, address: '北京市19號' },
{ id: 10008, name: '老二', role: '設計師', nickname: '', sex: '0', num: 345, age: 34, address: '上海市11號' },
{ id: 10009, name: '小牛', role: '前端開發', nickname: '牛牛', sex: '1', num: 67, age: 52, address: '深圳市29號' },
{ id: 10010, name: '小帥', role: '測試人員', nickname: '', sex: '1', num: 23, age: 44, address: '北京市37號' },
{ id: 10011, name: '老魏', role: '後端開發', nickname: '', sex: '0', num: 56, age: 52, address: '深圳市12號' },
{ id: 10012, name: '小徐', role: '測試人員', nickname: '', sex: '1', num: 23, age: 16, address: '廣州市16號' },
{ id: 10013, name: '小張', role: '設計師', nickname: '', sex: '1', num: 69, age: 16, address: '廣州市46號' },
{ id: 10014, name: '老馮', role: '前端開發', nickname: '', sex: '0', num: 36, age: 36, address: '廣州市66號' },
{ id: 10015, name: '小哥', role: '後端開發', nickname: '', sex: '0', num: 33, age: 47, address: '廣州市56號' },
{ id: 10016, name: '李哥', role: '測試人員', nickname: '', sex: '1', num: 2, age: 42, address: '深圳市16號' }
]
})
</script>
https://gitee.com/x-extends/vxe-table