首页 » 前端 » 正文

vben2.0中table的使用

vben:Vue-Vben-Admin 是一个基于 Vue3.0、Vite、 Ant-Design-Vue、TypeScript 的后台解决方案,目标是为开发中大型项目提供开箱即用的解决方案。包括二次封装组件、utils、hooks、动态菜单、权限校验、按钮级别权限控制等功能。做过管理后台的同学都知道,table表格是一个频率特别高的东西,vben提供了特别丰富的使用方法,这里的总结,几乎能满足所有日常开发需求。

一、文档中关于table的一些配置说明

二、实例应用

1、data.ts,存储一些配置

这里要配置的是表格数据的数据索引、搜索表单

  1. width可以定义单个数据的宽度;
  2. dataIndex索引展示对应的数据,但是如果要写一些特殊的,可以用customRender进行自定义渲染;
  3. customCell和render的区别在于它用于自定义单元格本身属性,优先级更高;

2、模板使用

这样你就能得到类似这样的一个结果:搜索、列表、分页

image.png

三、多种功能应用讲解

1、数据展示

  1. 首先这个表格是配置了api的,所以会自动请求数据,并通过columns配置的索引进行展示;
  2. 除了前面提到可以用customRender进行自定义渲染,还可以在模板中渲染,同样需要根据key来判断;
  1. 一般我们都是展示表格的时候就请求数据,但是有时候也需要手动触发或者自主请求

2、表格操作区

  1. 首先在data.ts中的配置dataIndex为action的节点;
  2. 操作按钮通过#bodyCell插槽和createActions定义来实现,注意条件判断v-if="column.key === 'action'"
    3、如果没有在data.ts中进行配置,可以在useTable传入的对象进行设置

3、表格标题

  1. 如上代码展示,在#tableTitle插槽直接写入;
  2. 另一种方式可以在useTable传入的对象进行设置,如果两个都写了,1的方法优先级更高

4、表格搜索

  1. 如代码所示,配置了searchFormSchema后,在useTable中加入即可;
  2. 可以在data配置里把某个label定义为槽,slot: 'selectModel',模板中就可以使用#form-selectModel="{ model, field }"来渲染,TreeSelect是一个组件,上面没有具体实现;
  3. 可以从车型代号和Coffee OS版本两个搜索项看出,对于一个下拉,可以采用接口请求的方式,也可以手动写入,注意options的形式
  1. 监听搜索变化,虽然上面车型代号里已经配置了componentProps,看这个复杂一点的,写成回调方法,这样可以在onChange中就可以对搜索中其他值产生影响,注意这里labelFieldvalueField是对api请求结果的一种提取;

5、如果是联动的数据,可以通过formModel.lv2Options设置另一个下拉框的options,在上面的onChange回调里:

  1. tableFormConfig是一个统一表格搜索配置,主要是ui

四、action操作的封装

后验证发现有错误,虽然封装逻辑没问题,具体问题和修改方法在这里vban2.0中table的使用—action封装

因为很多时候,在一些中后台系统中,表格数据操作总是很频繁,并且ui一致,如果页面比较多,就会要到处都设置这个东西,后来就对它这些操作按钮做了封装。组件名为TableActionHolder

1、配置按钮信息,枚举

2、组件模板定义

3、组件引入和事件接收

通过配置actions就可以展示对应的操作按钮,并在controllers获取事件点击类型,继而执行你想要的操作

赞 (1)

本文共 1 个回复

发表评论