[本文出自天外归云的博客园]
Vue+element比较流行,但是element有个坑,就是element的表格列名中不能含有点儿" . ",否则数据都显示不出来。
在element里表格是这样写的:
在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_columnsvar 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数组中元素中所包含指定字符的方法。