你知道element中el-table的列名中不能含有" . "吗?

[本文出自天外归云的博客园]

Vue+element比较流行,但是element有个坑,就是element的表格列名中不能含有点儿" . ",否则数据都显示不出来。

在element里表格是这样写的:

<template>
  <el-table :data="rows">
    <el-table-column v-for="column in columns" :key="column" :label="column" :prop="column">
    </el-table-column>
  </el-table>
</template>

在vue里rows和columns是这样的:

export default {
  data() {
    return {
        columns:['a.b','c.d','e.f']
        rows:[
            'a.b':'333',
            'c.d':'333',
            'e.f':'333',
        ]
    }
}

解决方法就是把column中的" . "和row[key]中的" . "全都替换成其他符号,比如" _ ":

var new_columns = []
for (const column of columns) {
  let new_column = column.replace('.', '_')
  while (new_column.indexOf('.') !== -1) { new_column = new_column.replace('.', '_') }
  new_columns.push(new_column)
}
this.columns = new_columns

var new_rows = []
for (const row of rows) {
  var new_row = {}
  for (const key in row) {
    let new_key = key.replace('.', '_')
    while (new_key.indexOf('.') !== -1) { new_key = new_key.replace('.', '_') }
    new_row[new_key] = row[key]
  }
  new_rows.push(new_row)
}
this.rows = new_rows

以上也是JavaScript中替换字符串数组和json数组中元素中所包含指定字符的方法。

转载于:https://www.cnblogs.com/LanTianYou/p/9649735.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值