vxe-table 区域选取、复制粘贴功能,的基本使用

12 篇文章 1 订阅

vxe-table区域选取、复制粘贴功能,的基本使用(注:该功能仅支持企业版,这里仅供部分演示)

1.鼠标区域选择功能:

在这里插入图片描述

参数说明:

mouse-config.area 是否开启鼠标单元格区域选取

<template>
  <div>
    <vxe-table
    :mouse-config="{area: true}"
    :data="tableData">
      <vxe-table-column field="a" title="A"></vxe-table-column>
      <vxe-table-column field="b" title="B"></vxe-table-column>
      <vxe-table-column field="c" title="C"></vxe-table-column>
      <vxe-table-column field="d" title="D"></vxe-table-column>
    </vxe-table>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableData: [
        { a: 'a1', b: 'b1', c: 'c1', d: 'd1' },
        { a: 'a2', b: 'b2', c: 'c2', d: 'd2' },
        { a: 'a3', b: 'b3', c: 'c3', d: 'd3' },
      ]
    }
  }
}
</script>

2.鼠标多重区域选取、延伸扩大区域

在这里插入图片描述

参数说明:

mouse-config.extension 是否开启鼠标点击区域内右下角延伸按钮(注:延伸扩大区域并非复制功能,和 Excel 的行为不一样)

<template>
  <div>
    <vxe-table
    :mouse-config="{area: true, extension: true}"
    :data="tableData">
      <vxe-table-column field="a" title="A"></vxe-table-column>
      <vxe-table-column field="b" title="B"></vxe-table-column>
      <vxe-table-column field="c" title="C"></vxe-table-column>
      <vxe-table-column field="d" title="D"></vxe-table-column>
    </vxe-table>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableData: [
        { a: 'a1', b: 'b1', c: 'c1', d: 'd1' },
        { a: 'a2', b: 'b2', c: 'c2', d: 'd2' },
        { a: 'a3', b: 'b3', c: 'c3', d: 'd3' },
      ]
    }
  }
}
</script>

3.固定列区域选取

在这里插入图片描述

<template>
  <div>
    <vxe-table
    :mouse-config="{area: true, extension: true}"
    :data="tableData">
      <vxe-table-column field="a" title="A" fixed="left"></vxe-table-column>
      <vxe-table-column field="b" title="B"></vxe-table-column>
      <vxe-table-column field="c" title="C"></vxe-table-column>
      <vxe-table-column field="d" title="D" fixed="right"></vxe-table-column>
    </vxe-table>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableData: [
        { a: 'a1', b: 'b1', c: 'c1', d: 'd1' },
        { a: 'a2', b: 'b2', c: 'c2', d: 'd2' },
        { a: 'a3', b: 'b3', c: 'c3', d: 'd3' },
      ]
    }
  }
}
</script>

4.复制、剪贴、粘贴

在这里插入图片描述

参数说明:

keyboard-config.isClip 是否开启(Ctrl+X键、Ctrl+C键、Ctrl+V键)复制粘贴功能

<template>
  <div>
    <vxe-grid
    :mouse-config="{area: true, extension: true}"
    :keyboard-config="{isClip: true}"
    :columns="tableColumn"
    :data="tableData">
    </vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableColumn: [
        { field: 'a', title: 'A' },
        { field: 'b', title: 'B' },
        { field: 'c', title: 'C' },
        { field: 'd', title: 'D' }
      ],
      tableData: [
        { a: 'a1', b: 'b1', c: 'c1', d: 'd1' },
        { a: 'a2', b: 'b2', c: 'c2', d: 'd2' },
        { a: 'a3', b: 'b3', c: 'c3', d: 'd3' },
      ]
    }
  }
}
</script>

5.合并、取消合并

在这里插入图片描述

参数说明:

keyboard-config.isMerge 是否开开启(Ctrl+M键)合并和取消合并功能

<template>
  <div>
    <vxe-grid
    :mouse-config="{area: true, extension: true}"
    :keyboard-config="{isMerge: true}"
    :columns="tableColumn"
    :data="tableData">
    </vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableColumn: [
        { field: 'a', title: 'A' },
        { field: 'b', title: 'B' },
        { field: 'c', title: 'C' },
        { field: 'd', title: 'D' }
      ],
      tableData: [
        { a: 'a1', b: 'b1', c: 'c1', d: 'd1' },
        { a: 'a2', b: 'b2', c: 'c2', d: 'd2' },
        { a: 'a3', b: 'b3', c: 'c3', d: 'd3' },
      ]
    }
  }
}
</script>

6.查找和替换

在这里插入图片描述

参数说明:

keyboard-config.isFNR 是否开启(Ctrl+F键、Ctrl+H键)查找和替换功能

<template>
  <div>
    <vxe-grid
    :mouse-config="{area: true, extension: true}"
    :keyboard-config="{isFNR: true}"
    :columns="tableColumn"
    :data="tableData">
    </vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableColumn: [
        { field: 'a', title: 'A' },
        { field: 'b', title: 'B' },
        { field: 'c', title: 'C' },
        { field: 'd', title: 'D' }
      ],
      tableData: [
        { a: 'a1', b: 'b1', c: 'c1', d: 'd1' },
        { a: 'a2', b: 'b2', c: 'c2', d: 'd2' },
        { a: 'a3', b: 'b3', c: 'c3', d: 'd3' },
      ]
    }
  }
}
</script>

7.更多实用的快捷键

在这里插入图片描述

参数说明:

keyboard-config.isEdit 是否开启(Esc键、F2键、任意键)单元格编辑功能
keyboard-config.isTab 是否开启(Tab键、Shift+Tab键)单元格左右移动功能
keyboard-config.isArrow 是否开启(方向键)单元格上下左右移动功能
keyboard-config.isEnter 是否开启(Enter键、Shift+Enter键)单元格上下移动功能
keyboard-config.isDel 是否开启(Delete键、Backspace键)清空单元格的值
keyboard-config.isChecked 是否开启(Spacebar键)切换复选框和单选框状态
keyboard-config.enterToTab 是否将回车键行为改成 Tab 键行为

  • 鼠标:
    • (Mouse + Left )鼠标选取指定范围的单元格
    • (Mouse + Right )鼠标选取选中位置的单元格
    • (Mouse + Left + Ctrl)鼠标选取多区域的单元格
    • (Mouse + Left)鼠标左键按住区域内右下角延伸按钮,将区域横向或纵向扩大
  • 键盘:
    • (Ctrl + X)将单元格标记为剪贴状态并将内容复制到剪贴板,支持 Excel 和 WPS
    • (Ctrl + C)将单元格标记为复制状态并将内容复制到剪贴板,支持 Excel 和 WPS
    • (Ctrl + V)将剪贴板的内容粘贴到指定区域中,支持 Excel 和 WPS
    • (Ctrl + M)将选取的单元格合并或取消合并
    • (Ctrl + F)查找单元格数据,全表或查找指定区域单元格数据
    • (Ctrl + H)替换单元格数据,全表或替换指定区域单元格数据
    • (Arrow Up ↑)如果存在,则移动到上面的单元格
    • (Arrow Down ↓)如果存在,则移动到下面的单元格
    • (Arrow Left ←)如果存在,则移动到左边的单元格
    • (Arrow Right →)如果存在,则移动到右边的单元格
    • (Tab)如果存在,则移动到右边单元格;如果存在区域,则在指定区域内移动;如果移动到最后一列,则从下一行开始移到,以此循环
    • (Shift + Tab)如果存在,则移动到左边单元格,则在指定区域内移动;如果移动到第一列,则从上一行开始移到,以此循环
    • (Spacebar)如果选取的区域存在复选框,则切换勾选状态
    • (Enter)如果存在,取消单元格编辑并移动到下面的单元格,则在指定区域内移动;如果移动到最后一行,则从下一列开始移到,以此循环
    • (Shift + Enter)如果存在,取消单元格编辑并移动到上面的单元格,则在指定区域内移动;如果移动到第一行,则从上一列开始移到,以此循环
    • (Delete)清空单元格内容
    • (Backspace)清空单元格内容并激活为编辑状态
    • (F2)如果存在,激活单元格为编辑状态
    • (Esc)如果存在,取消单元格编辑状态
    • (*)按下除功能键之外的任意键激活覆盖式单元格编辑
<template>
  <div>
    <vxe-grid
    :mouse-config="{area: true, extension: true}"
    :keyboard-config="{isClip: true, isEdit: true, isTab: true, isArrow: true, isEnter: true, isDel: true, isMerge: true, isFNR: true, isChecked: true, enterToTab: false}"
    :columns="tableColumn"
    :data="tableData">
    </vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    return {
      tableColumn: [
        { field: 'a', title: 'A' },
        { field: 'b', title: 'B' },
        { field: 'c', title: 'C' },
        { field: 'd', title: 'D' }
      ],
      tableData: [
        { a: 'a1', b: 'b1', c: 'c1', d: 'd1' },
        { a: 'a2', b: 'b2', c: 'c2', d: 'd2' },
        { a: 'a3', b: 'b3', c: 'c3', d: 'd3' },
      ]
    }
  }
}
</script>

8.更多实用的快捷菜单

在这里插入图片描述
具体参数及使用:vxe-table-plugin-menus

9.集成 echarts 图表渲染

在这里插入图片描述
具体参数及使用: vxe-table-plugin-charts

10.支持区域选取、虚拟滚动、虚拟合并同时使用

在这里插入图片描述
(注:pro 版本并非开源项目,这里仅供部分演示)

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
vxe-table 是一个基于 Vue.js 的表格组件库,它提供了丰富的功能和灵活的配置选项,包括区域选取功能。 要在 vxe-table 中实现区域选取,需要使用其提供的 select-config 属性。通过设置 select-config.enable 来启用区域选取功能,设置 select-config.range 为 true 来开启区域选取的范围选择模式。 以下是一个简单的示例代码: ``` <template> <vxe-table :data="tableData" :select-config="{ enable: true, range: true }" > <vxe-table-column type="selection" width="60"></vxe-table-column> <vxe-table-column field="name" title="Name"></vxe-table-column> <vxe-table-column field="age" title="Age"></vxe-table-column> <vxe-table-column field="address" title="Address"></vxe-table-column> </vxe-table> </template> <script> import 'xe-utils' import VXETable from 'vxe-table' import 'vxe-table/lib/index.css' export default { data() { return { tableData: [ { name: 'John', age: 25, address: 'New York' }, { name: 'Tom', age: 30, address: 'Los Angeles' }, { name: 'Mary', age: 28, address: 'Chicago' }, { name: 'Bob', age: 35, address: 'Houston' } ] } }, mounted() { VXETable.setup({ table: {} }) } } </script> ``` 在这个示例中,我们通过设置 select-config.enable 和 select-config.range 来启用区域选取功能,并使用 vxe-table-column 组件来定义表格列。当用户选择表格中的一个区域时,vxe-table 会触发 select-change 事件,您可以在事件处理程序中获取被选中区域数据,然后进行相应的操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值