[Vue warn]: Error in render: "TypeError: _self.$scopedSlots.default is not a function"

在vue项目中使用element ui 框架的 table控件 根据v-if条件判断控制台报错和table列出现错乱

代码
<el-table-column v-if="!investorFlag" align="center" prop="loanNumber" label="借款次数" min-width="60"/>
控制台报错

[Vue warn]: Error in render: "TypeError: _self.$scopedSlots.default is not a function"

原因

表格是element-ui通过循环产生的,而vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用

解决

[Vue warn]: Error in render: "TypeError: _self.$scopedSlots.default is not a function"

只要在判断的元素上添加一个唯一的key属性,(确保key的值是唯一的)

<el-table-column v-if="!investorFlag" align="center" prop="loanNumber" label="借款次数" min-width="60" key='loanNumber'/>