vue3开发拒绝cv, 快使用crud

本文介绍了如何利用crud-vue组件快速实现企业后台的增删改查功能,基于Ant Design Vue,通过JSON配置完成表格展示和数据操作。重点讲解了primaryKey、r(读取)、c(新增)、u(编辑)和d(删除)的配置方法。
摘要由CSDN通过智能技术生成

开发管理后台基本是企业的日常需求, 基本每个前台项目都必有一个后台项目跟着, 虽然是必需品, 但是大家好像有不是那么在意他, 毕竟只有管理员用, 今天我们讲一下"增删改查"组件:crud-vue.

image.png crud-vue通过简单的JSON配置即可实现完整的"增删改查".

注意: crud-vue是基于ant-design-vue的, 所以更进一步的开发中,可直接使用ant的组件

安装

shell yarn add crud-vue

使用

下面是一个简单的表格, 只需要配置columnsdone字段.

columns就是"ant"组件库中 table 组件的配置, 用来配置列.

done是"crud-vue"定义的字段, 值是个函数, 用来格式化接口返回数据, 函数返回{total:10,list:[{xx:1}]}这样的数据表格就会显示.

```html

```

API

通过配置"crud-vue"组件的"c/u/r/d"4 个字段实现"增删改查".

primaryKey(主键)

必填项, ant 中的a-table需要, 选用数据中的能"表示唯一的id"字段即可.

image

r(读取)

必填项, 主要配置"表格"和"数据", 这里的表格实际就是🐜ant的table组件, 使用defineR函数定义.

```typescript const r = defineR({ // 列配置 columns: [{ title: 'name', dataIndex: 'name' }],

// 筛选条件配置 conditionItems: [{ name: 'name', is: 'a-input' }],

// 列表接口数据处理 async done() { const { data } = await http('/user'); return { list: data.xxList, total: data.xxTotal }; }, }); ```

查看"r"的完整文档

c(新增)

非必填, 用来构造"新建"表单,用defineC函数来定义.

typescript const c = defineC({ async before() { await Promise.all([getRoleOptions(), getDepartmentOptions(), getPositionOptions()]); }, async done(formData) { const { status, data } = await http.post('/user', formData); return [200 === status, data.msg]; }, formProps: { labelCol: { span: 2 } }, items: () => [ { is: 'a-input', name: 'userName', label: '账号', rules: [{ required: true, message: '必填项' }] }, { is: 'a-input', name: 'realName', label: '姓名' }, 查看"c"的完整文档

u(编辑)

非必填, 用来构造"编辑"表单,用defineU函数来定义.基本和"c"的配置一样.

查看"u"完整的文档

d(删除)

非必填, 用来配置"删除操作",用defineD函数来定义. d暂只有一个属性done:

done

必填项, done是个函数, 点击"删除"按钮后触发, 函数内需要写请求删除接口的逻辑.

typescript const d = defineD({ async done(idList) { // 判断idList长度区分是否批量删除 // 批量删除 if (1 < idList.length) { const { data, status } = await http.delete('/user/' + idList.join(',')); return [200 === status, data.msg]; } else { // 删除一条 const { data, status } = await http.delete('/user/' + idList[0]); return [200 === status, data.msg]; } }, }); 可以通过done的参数来判断是批量删除还是单行删除.

特别注意

  1. done必须是一个返回"promise"的函数, 也可以用"async", 其返回值也是"promise".
  2. done函数的返回值必须是[boolean,string?]格式, "boolean"用来表示是否操作成功, "string"是选填,是成功/失败后消息框显示的文字, 如果不填, 不进行消息显示. image
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值