首页 > 其他分享 >vxe-table 表格中使用 element-ui 组件库的

vxe-table 表格中使用 element-ui 组件库的

时间:2024-11-28 13:47:38浏览次数:6  
标签:name title vxe value element width ui label true

在公司开发大型项目中,使用主流表格库 vxe-table 和 element-ui 组件库,可以在可编辑单元格中渲染非常简单的使用更多的组件

官网:https://vxetable.cn

安装

npm install vxe-pc-ui@3.3.9 vxe-table@3.11.10 @vxe-ui/plugin-render-element@3.0.0
// ...
import { VxeUI } from 'vxe-table'
import VxeUIPluginRenderElement from '@vxe-ui/plugin-render-element'
import '@vxe-ui/plugin-render-element/dist/style.css'
// ...

VxeUI.use(VxeUIPluginRenderElement)

使用输入框 el-input

<template>
  <div>
    <vxe-grid ref="gridRef" v-bind="gridOptions"></vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    const gridOptions = {
      border: true,
      showOverflow: true,
      keepSource: true,
      editConfig: {
        trigger: 'click',
        mode: 'row'
      },
      columns: [
        { type: 'checkbox', width: 60 },
        { type: 'seq', title: 'Number', width: 80 },
        { field: 'name', title: 'Name', minWidth: 140, editRender: { name: 'ElInput' } },
        { field: 'nickname', title: '输入框', width: 200, editRender: { name: 'ElInput' } }
      ],
      data: [
        { id: 10001, name: 'Test1', nickname: 'Nickname11' },
        { id: 10002, name: 'Test2', nickname: '' }
      ]
    }
    return {
      gridOptions
    }
  }
}
</script>

使用下拉框 el-select

<template>
  <div>
    <vxe-grid ref="gridRef" v-bind="gridOptions"></vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    const sexEditRender = {
      name: 'ElSelect',
      options: [
        { label: '男', value: '1' },
        { label: '女', value: '0' }
      ]
    }
    const sexListEditRender = {
      name: 'ElSelect',
      props: {
        multiple: true
      },
      options: [
        { label: '男', value: '1' },
        { label: '女', value: '0' }
      ]
    }
    const gridOptions = {
      border: true,
      showOverflow: true,
      keepSource: true,
      editConfig: {
        trigger: 'click',
        mode: 'row'
      },
      columns: [
        { type: 'checkbox', width: 60 },
        { type: 'seq', title: 'Number', width: 80 },
        { field: 'name', title: 'Name', minWidth: 140, editRender: { name: 'ElInput' } },
        { field: 'sex', title: '下拉框', width: 200, editRender: sexEditRender },
        { field: 'sexList', title: '下拉框多选', width: 200, editRender: sexListEditRender }
      ],
      data: [
        { id: 10001, name: 'Test1', sex: '1', sexList: [] },
        { id: 10002, name: 'Test2', sex: '', sexList: ['0', '1'] }
      ]
    }
    return {
      gridOptions
    }
  }
}
</script>

使用日期选择 el-date-picker

<template>
  <div>
    <vxe-grid ref="gridRef" v-bind="gridOptions"></vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    const gridOptions = {
      border: true,
      showOverflow: true,
      keepSource: true,
      editConfig: {
        trigger: 'click',
        mode: 'row'
      },
      columns: [
        { type: 'checkbox', width: 60 },
        { type: 'seq', title: 'Number', width: 80 },
        { field: 'name', title: 'Name', minWidth: 140, editRender: { name: 'ElInput' } },
        { field: 'date1', title: '日期', width: 200, editRender: { name: 'ElDatePicker', props: { type: 'date', valueFormat: 'yyyy-MM-dd' } } },
        { field: 'date2', title: '日期带时间', width: 220, editRender: { name: 'ElDatePicker', props: { type: 'datetime', valueFormat: 'yyyy-MM-dd HH:mm:ss' } } }
      ],
      data: [
        { id: 10001, name: 'Test1', date1: '', date2: '' },
        { id: 10002, name: 'Test2', date1: '2018-01-01', date2: '2018-01-01 10:10:30' }
      ]
    }
    return {
      gridOptions
    }
  }
}
</script>

使用级联选择 el-cascader

<template>
  <div>
    <vxe-grid ref="gridRef" v-bind="gridOptions"></vxe-grid>
  </div>
</template>

<script>
export default {
  data () {
    const regionList = [
      {
        label: '北京',
        value: 1,
        children: [
          { value: 3, label: '东城区' },
          { value: 4, label: '西城区' }
        ]
      },
      {
        label: '上海',
        value: 21,
        children: [
          { value: 23, label: '黄浦区' },
          { value: 24, label: '卢湾区' }
        ]
      },
      {
        label: '广东',
        value: 42,
        children: [
          { value: 43, label: '广州市' },
          { value: 67, label: '深圳市' }
        ]
      }
    ]
    const regionEditRender = {
      name: 'ElCascader',
      props: {
        options: regionList
      }
    }
    const gridOptions = {
      border: true,
      showOverflow: true,
      keepSource: true,
      editConfig: {
        trigger: 'click',
        mode: 'row'
      },
      columns: [
        { type: 'checkbox', width: 60 },
        { type: 'seq', title: 'Number', width: 80 },
        { field: 'name', title: 'Name', minWidth: 140, editRender: { name: 'ElInput' } },
        { field: 'region', title: '级联选择', width: 200, editRender: regionEditRender }
      ],
      data: [
        { id: 10001, name: 'Test1', region: [] },
        { id: 10002, name: 'Test2', region: [21, 24] }
      ]
    }
    return {
      gridOptions,
      regionList,
      regionEditRender
    }
  }
}
</script>

还有非常的多,具体需要去看官网文档了

https://gitee.com/xuliangzhan/vxe-table

标签:name,title,vxe,value,element,width,ui,label,true
From: https://www.cnblogs.com/qaz666/p/18574108

相关文章

  • LVGL UI设计神器anyui之高阶组件
    破炉而出——LVGLUI设计神器anyui之高阶组件孙悟空吃了大量的巧克力豆后,在太上老君的炼丹炉中憋了七七四十九天,最终破炉而出,练就了火眼金睛,继七十二变和筋斗云之后第三大本领,省去了取经路上无数麻烦。试想如果没有孙悟空的火眼金睛,唐僧被抓走的次数得翻几番。可见,好的装......
  • HTML中的tag、element、class、name、id
    id属性1.**唯一性**:id属性值在当前文档中必须唯一;2.**CSS和Javascript**:id常用于CSS选择器和Javascript中,用于选择和操作特定的元素;3.**DOM选择**:在Javascript中,可以通过document.getElementsById('id值')来获取对应的元素;name属性1.**重复性**:name属性值在同一文档中......
  • vxe-table 实现表格单选数据
    在vxe-table启用列单选功能,通过参数column.type='radio'设置类型为单选类型就可以了。官网:https://vxetable.cn<template><div><vxe-gridv-bind="gridOptions"></vxe-grid></div></template><script>exportdef......
  • vxe-table 使用表格多选数据、复选框多选
    在vxe-table启用列多选功能,通过参数column.type='checkbox'设置类型为多选类型就可以了。官网:https://vxetable.cn<template><div><vxe-gridv-bind="gridOptions"></vxe-grid></div></template><script>export......
  • Brduino脑机连载(二十一)基于Brduino实现脑控无人机(简略步骤)
    在当今科技飞速发展的时代,脑机接口(Brain-ComputerInterface,BCI)技术作为一项极具创新性和前瞻性的领域,正逐渐改变着我们与机器的交互方式。其中,基于稳态视觉诱发电位(SSVEP)的脑控无人机技术更是吸引了众多科研人员和科技爱好者的目光。今天,我们将深入探讨如何基于Brduino实现......
  • Brduino脑机连载(二十)推荐了解-Brduino脑机开发模组介绍
    Brduino:脑机学习/开发平台在脑机接口(Brain-ComputerInterface,BCI)技术蓬勃发展的浪潮中,Brduino作为一款具有广泛影响力的脑机学习开发板(前身为BCIduino脑机模组(点击查看),我们做了改良之后重新发布(点击查看)),为科研人员、开发者以及爱好者提供了一个强大且灵活的工具,助力他们......
  • 基于Arduino Uno的温湿度传感器设计
    目录一、Arduinonano(一)PIN分析(二)Blink程序(Arduino基本程序)分析二、HIGH和LOW引脚的两种状态辨析三、UNO四、接线图五、代码部分Version1—-单显示屏(LCD1602AGeneral)Version2—-双显示屏方案(LCD1602AI2C+LCD1602AGeneral)五、IOT物联网方案(Esp8266实......
  • CODEIP: A Grammar-Guided Multi-Bit Watermark for Large Language Models of Code
    本文是LLM系列文章,针对《CODEIP:AGrammar-GuidedMulti-BitWatermarkforLargeLanguageModelsofCode》的翻译。CODEIP:用于大型代码语言模型的语法引导多位水印摘要1引言2前言3CODEIP4实验设置5结果与分析6相关工作7结论8局限性摘要随着大......
  • getElementById和querySelector方法的区别是什么?
    getElementById和querySelector都是JavaScript中用于选择HTML元素的方法,但它们之间有一些关键区别:1.选择方式:getElementById:通过元素的ID来选择元素。HTML中的ID必须是唯一的,因此getElementById总是返回单个元素(或者null,如果找不到该ID)。这是获取特定......
  • DynoEquip 变速器和减速器试验台
    创新减速器试验台:助力电气化动力系统和变速器开发电子邮箱: info@DynoEquip.com当代动力传动系统的电气化程度不断提高,这对仪器和测试系统的要求产生了重大影响。随着汽车行业向电气化动力系统转变,工程师们在确保所有组件无缝协作方面面临着新的挑战。这种转变要求进行早......