1、问题
使用Element-UI组件库el_table的扩展列时,在开发阶段没有报错,但在项目打包托管在服务器上后报错:
vue.min.js:6 Error: if there’s nested data, rowKey is required.
2、原因
上述报错意思是:如果存在嵌套数据,则需要rowKey。
在Element-UI 2.7.0中,在el-table标签中新增row-key字段,使用树结构时,属性row-key必须添加,而且私有数据中需要定义id,
我们的项目中的el-table标签并没有加这个属性,但在中加入属性row-key=“id”。修改之后项目确实不报错,但是页面中出现多余的扩展列,且索引列错乱。
3、最终的解决办法
在index.html中使用CDN优化打包项目时,对导入的element-ui的版本号进行修改(共有两个文件:一个是css文件,一个是js文件),版本号改成我们项目安装的element-ui的版本号(在这里我安装的是2.15.2)
<% if(htmlWebpackPlugin.options.isProd){ %>
<!-- nprogress 的样式表文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.css" />
<!-- 富文本编辑器 的样式表文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.core.min.css" />
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.snow.min.css" />
<link rel="stylesheet" href="https://cdn.staticfile.org/quill/1.3.4/quill.bubble.min.css" />
<!-- element-ui 的样式表文件 -->
<link rel="stylesheet" href="https://cdn.staticfile.org/element-ui/2.15.2/theme-chalk/index.css" />
<script src="https://cdn.staticfile.org/vue/2.5.22/vue.min.js"></script>
<script src="https://cdn.staticfile.org/vue-router/3.0.1/vue-router.min.js"></script>
<script src="https://cdn.staticfile.org/axios/0.18.0/axios.min.js"></script>
<script src="https://cdn.staticfile.org/lodash.js/4.17.11/lodash.min.js"></script>
<script src="https://cdn.staticfile.org/echarts/4.1.0/echarts.min.js"></script>
<script src="https://cdn.staticfile.org/nprogress/0.2.0/nprogress.min.js"></script>
<!-- 富文本编辑器的 js 文件 -->
<script src="https://cdn.staticfile.org/quill/1.3.4/quill.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/vue-quill-editor@3.0.4/dist/vue-quill-editor.js"></script>
<!-- element-ui 的 js 文件 -->
<script src="https://cdn.staticfile.org/element-ui/2.15.2/index.js"></script>
<% } %>
参考:
原文链接:https://blog.csdn.net/qq_45074822/article/details/105807577