el-table-column v-if条件渲染报错h.$scopedSlots.default is not a function

问题:项目中遇到el-table-column条件渲染出现报错的情况

           报错内容: h.$scopedSlots.default is not a function

error

原因:表格是element-ui通过循环产生的,而vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用,这就是问题所在,所以,通过key去标识一下当前行是唯一的,不许复用,就行了。

解决:添加 :key="Math.random()"

example:

<el-table-column fixed="right" label="操作" width="200" :key="Math.random()"  v-if="currentTab === 'xxx'">      <template slot-scope="{row}"> 

         <el-button type="text" size="small">查看详情</el-button> 

         <el-button type="text" size="small">编辑</el-button> 

    </template> 

 </el-table-column>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。