首页 > 其他分享 >对比elment-ui 和vben 前端对表格的封装

对比elment-ui 和vben 前端对表格的封装

时间:2023-12-11 17:37:39浏览次数:29  
标签:封装 vben 表格 searchFormSchema elment ui

看了这篇文章 优雅的使用 element-ui 中的 table 组件,突然顿悟了一些。

elment-ui的表格

<el-table :data="tableData">
    <el-table-column
      prop="date"
      label="日期">
    </el-table-column>
    <el-table-column
      prop="name"
      label="姓名">
    </el-table-column>
    <el-table-column
      prop="address"
      label="地址">
    </el-table-column>
  </el-table>

vben 是封装了一个table,

tableColumns,searchFormSchema,createFormSchema,updateFormSchema 在typescript 文件里定义
     const [registerTable, { reload }] = useTable({
        columns: tableColumns,
        formConfig: {
          labelWidth: 70,
          schemas: searchFormSchema,
        },
        api: pageAsync,
        actionColumn: {
          width: 220,
          title: '操作',
          dataIndex: 'action',
          slots: { customRender: 'action' },
        },
      });

slot 占位符 单独定义内容

 <BasicTable @register="registerTable" size="small">
      <template #toolbar>
        <a-button
          preIcon="ant-design:plus-circle-outlined"
          type="primary"
          @click="openCreateProductModal"
        >
          新增产品
        </a-button>
      </template>

      <template #action="{ record }">
        <TableAction
          :actions="[
            {
              icon: 'clarity:note-edit-line',
              label: '编辑',
              tooltip: '编辑产品',
              onClick: handleEdit.bind(null, record),
            },
            {
              icon: 'ant-design:delete-outlined',
              color: 'error',
              label: '删除',
              tooltip: '删除产品',
              popConfirm: {
                title: '是否确认删除',
                placement: 'left',
                confirm: handleDelete.bind(null, record),
              },
            },
          ]"
        />
      </template>
    </BasicTable>

 

标签:封装,vben,表格,searchFormSchema,elment,ui
From: https://www.cnblogs.com/zitjubiz/p/17894944.html

相关文章

  • 推荐一个超爽的前端工具HBuilder
    开发学习网站:http://www.runoob.com 菜鸟教程使用HBuilderUniApp跨平台开源框架开发的H5和有app项目感觉效果还不错以后跨平台是一个趋势哦可以学习一下语法是vue的语法开发还有一些小程序的语法结合起来的 有很多个开源项目,可以下载学习!一套代码可编译到8个平台 我学习后开......
  • vite5报错Uncaught ReferenceError: require is not defined的代替方案
    constfiles=import.meta.glob('./*.js',{eager:true})//会得到一个对象注意引入路径里绝对不能带有变量,会报错//{eager:true}是定义是否同步引入的参数,去掉会得到几个异步函数,根据自己的需求写就行了console.log(files["./env."+import.meta.env.MODE+".js"].default......
  • Python_Gui_tkinker学习笔记
    #-*-coding:utf-8-*-importtkinterastk创建主窗口#调用Tk()创建主窗口root_window=tk.Tk()窗口名字#给主窗口起一个名字,也就是窗口的名字root_window.title('C语言中文网:c.biancheng.net')打开窗口#开启主循环,让窗口处于显示状态root_window.mainloop()创......
  • 在Arduino环境下对ESP32进行寄存器操作和区别比较
    在Arduino环境下对ESP32进行寄存器操作和区别比较前言这篇文章主要是对在Arduino环境下如何对ESP32进行寄存器操作进行了相关的说明。并且比较了在不同编程方式下GPIO口的电平翻转速度,这可以更加直观的不同编程方式下的代码运行效率。(平台是VScode,使用Platformio下的Arduino固......
  • 【uview2.x/uview-plus3.x/uv-ui框架】修改主题颜色
    前言:在使用uview-plus和uv-ui时发现文档有时候挺乱的,看的挺累,这不,最近折腾个自定义主题,发现和文档所说的压根不对,以下是文档: 1.按照官方说法,一堆报错,这里就不列举了,接下来看看正规做法: 2.找到对应的主题包,就是官方让你在uni.scss中引入的那个,复制一份到公共目录下(视情况而......
  • quickjs集成http功能
    零、前言默认的quickjs,是js引擎,需要自己移植类似curl库,才能使quickjs有http请求功能。js引擎+一些本地功能调用=js运行时。一、libcurl库这个库的安装或编译,也是比较麻烦的事情,特别是需要使其支持https访问,配置和编译更是麻烦。因此,还是使用上次提到的vcpkg。通过vcpkg......
  • 如何实现波纹进度条(ArkUI)
    场景说明应用开发过程中经常用到波纹进度条,常见的如充电进度、下载进度、上传进度等,本例即为大家介绍如何实现上述场景。效果呈现本示例最终效果如下:运行环境本例基于以下环境开发,开发者也可以基于其他适配的版本进行开发:IDE:DevEcoStudio3.1Beta2SDK:Ohos_sdk_publi......
  • UI 优先的统一身份认证系统 Casdoor
    Casdoor是一个基于OAuth2.0/OIDC的UI优先集中认证/单点登录(SSO)平台,简单点说,就是Casdoor可以帮你解决 用户管理 的难题,你无需开发用户登录注册等与用户鉴权相关的一系列功能,只需几个步骤,简单配置,与你的主应用配合,便可完全托管你的用户模块,简单省心,功能强大。仓......
  • NodeJS项目build成为本地镜像上传阿里云ACR
    先注册阿里云账号选择“容器镜像服务”->“个人实例”。由于是测试目的,个人版也可以接受。创建命名空间创建镜像仓库选择本地仓库-本示例会从本机推送镜像创建成功后,会有提示相关命令创建一个nodejs项目package.json{"name":"docker_web_app","versio......
  • element ui dropdown 下拉菜单 有二级菜单
    <el-dropdown:hide-on-click="false"ref="dropdown"@command="closeDrop"trigger="click"class="ml-10mr-10"><el-buttont......