前端提升生产力系列二(vue3 element-plus 配置json快速生成table列表组件)

个人github仓库地址:https:github.com/aehyok

本文讲解代码仓库地址 :https:github.com/aehyok/vue-… 目前基于dev分支进行开发和测试

本demo已部署腾讯云 vue.tuokecat.com(服务器配置较低,如有访问比较慢,请耐心等待)

table列表json配置生成器

1、 在PC端日常的使用中,使用最多的过于表单和列表了,故此对table列表和form表单进行了统一的封装,通过json配置就可以快速适配table列表和form表单。2、封装思路

A、列表的搜索条件和搜索按钮,这个与table 可以解耦,目前放到单独的组件中,所以本节暂不考虑 B、table列表显示字段,根据不同的类型进行制定 C、最右侧的操作按钮的配置,比如(行编辑、删除等操作),根据定义的函数进行注入,后面实现函数操作进行自定义,不与table列表冲突 D、特殊的字段,比如(序号字段、多选框、单选框等等) E、最后当然少不了分页器的参与

3、本章节主要记录自己的table封装

先来一个完整的效果展示

1、列表展示字段的配置json

{
    type:'checkbox',
  },
  {
    type:'index',
  },
  {
    prop: "title",
    label: "标题",
    align: "center",
  },
  {
    prop: "createTime",
    label: "创建时间",
    align: "center",
    dateFormat: "yyyy-MM-dd HH:mm:ss",
    sortable: true
  },
  {
    prop: "state",
    label: "状态",
    align: "center",
    dictionary: [
      { code: 0, name: "待审核"},
      { code: 1, name: "已审核"},
      { code: 2, name: "审核中"},
    ]
  },
  {
    prop:"custom",
    label:"自定义",
    align: "center",
    html: (row, column) => {
      return row.title==="编号3" ? `<span style="color: red;">${ row.remark }</span>`:`未定义`
    }
  }

复制代码 最后一个字段 custom 可以通过配置html,自定义展示复杂的组件和样式介入

2、右侧操作按钮的配置信息

{
   width: 200,
   fixed: "right",
   list: [
     {
       id: "1",
       label: "查看",
       type: "text",
       show: true,
       disabled: false,
       method: (index, row, ss) => {
         handleDetail(index, row, ss);
       }
     },
     {
       id: "2",
       label: "删除",
       type: "text",
       show: true,
       disabled: false,
       method: (index, row) => {
         handleDel(index, row);
       }
     }
   ]
 }

复制代码 其中的handleDetail和handleDel函数通过自定义实现业务对接即可。

3、 最后的效果图片

字段配置详细介绍 1、普通字段直接配置

{
    prop: "name",
    label: "设施名称",
    align: "center",
  }

复制代码 2、序号字段配置(后期可直接配置自定义序号,暂时从 1 自增+1)

{
    type: "index"
  }

复制代码 3、checkbox 字段配置(后期可添加单选框的配置)

{
    type: "checkbox"
  }

复制代码 4、日期格式字段配置,可设置转换格式

{
    prop: "recorDate",
    label: "返乡日期",
    align: "center",
    dateFormat: "yyyy-MM-dd"
},

复制代码 5、字典数据转换

{
    prop: "sex",
    label: "性别",
    align: "center",
    dictionary:[
        {
            code: 1, name:'男',
        },
        {
            code: 2, name:'女',
        }
    ]
},

复制代码 6、自定义字段展示内容

{
    prop: "",
    label: "自定义",
    align: "center",
    html: (row, column) => {
        return row.name==="集资球场" || row.address ==="22" ? `<span style="color: red;">${ row.address }</span>`:`222`
    }
 },

复制代码 7、显示 image

{
    prop: "image",
    label: "自定义",
    align: "center",
    image:'image'
 },

复制代码 8、设置字段排序(前端自动排序)

{
    prop: "image",
    label: "自定义",
    align: "center",
    sortable: true
 },

复制代码 9、设置字段自定义调用接口排序

{
    prop: "image",
    label: "自定义",
    align: "center",
    sortable: "custom",  // 通过传递的search查询函数中添加了orders排序字段
 }

复制代码 10、其他字段待补充 ......

作者:那个曾经的少年又回来了 链接:https://juejin.cn/post/7018516195385016357

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 3 中使用 Element Plus 的中文版配置,可以按照以下步骤进行: 1. 首先,安装 Element Plus 的依赖包。可以使用 npm 或者 yarn 安装。 使用 npm: ``` npm install element-plus --save ``` 使用 yarn: ``` yarn add element-plus ``` 2. 在项目的入口文件中引入 Element Plus 的样式和组件。 在 main.js 文件中添加以下代码: ```js import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' // 引入样式文件 createApp(App) .use(ElementPlus) .mount('#app') ``` 3. 现在,你可以在组件中使用 Element Plus 的组件了。 例如,在一个组件中使用 Button 组件: ```vue <template> <el-button>按钮</el-button> </template> <script> export default { // ... } </script> <style> /* 可选:自定义 Element Plus 组件的样式 */ </style> ``` 4. 如果你想要修改 Element Plus 的全局配置,可以在 main.js 文件中添加如下代码: ```js import { createApp } from 'vue' import ElementPlus from 'element-plus' import 'element-plus/lib/theme-chalk/index.css' const app = createApp(App) // 修改配置 app.config.globalProperties.$ELEMENT = { size: 'small', zIndex: 3000 } app.use(ElementPlus).mount('#app') ``` 在这个例子中,我们将全局配置的尺寸设置为 'small',z-index 设置为 3000。 这样就完成了在 Vue 3 中使用 Element Plus 的中文版配置。你可以根据需要在组件中使用 Element Plus 的各种组件,并根据官方文档进行配置和自定义样式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值