Vue2 Element 表格&表单 我惯用的写法


前言

我需要整理一下表单验证和表格, 我们的项目里大量的使用了它们, 我应该形成一个模式去套用而不是像现在这样边构思边写.


一、表格

还好后端返回的数据通常规范好用, 不是一些奇形怪状的结构.

1.表头生成

表头创建, 最少需要知道表头要写的字(label)和该表头下该列出何种数据, 大部分时候这两者不能够相同, 所以我觉得如果需要使用v-for去创建表头的话, 应当创建包含多个"label值和prop值构成的对象"的数组, 就像这样:

<el-table-column
  :label="item.labels"
  :prop="item.props"
  v-for="(item, index) in tableHead"
  :key="index"
>
</el-table-column>
tableHead: [
  {
    labels: "tableEvent1", props: "column1" },
  {
    labels: "tableEvent2", props: "column2" },
  {
    labels: "tableEvent3", props: "column3" },
],

完成表头创建后, 数据会根据表头绑定的prop属性将数据源对象中匹配的属性的值在该列下渲染出来, 比如prop绑定了"data1", 那么渲染数据源中每一条记录的"data1"属性值到该列.
所以表格一定得绑定一个数据源,
做的时候, prop可能会是遍历出来的, 保证prop和数据源中的属性值匹配即可.


2.数据源和表头数组分离

然后数据源需要从后端请求, 如果数据源和表头放在一个结构里, 也不是不可以, 但是数据请求过来之后要在前端进行大量赋值操作和额外的数据结构处理操作, 我并不喜欢这样.

所以数据源单独开一个变量, 后端返回的数据一般会是这种格式:

dataOri: [
  {
   
    column1: "11",
    column2: "12",
    column3: "13",
    column4: "14",
    column5: "15",
  },
  {
   
    column1: "21",
    column2: "22",
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值