① _self.$scopedSlots.default is not a function
描述:页面多个el-table且table列数不一样时,切换table显示报错
问题描述:
页面中多个table,且table的列数不一样,使用v-if 来控制显示
点击头部的“未使用、已使用”来切换的时候,报错。
原因:因为表格是element-ui通过循环产生的,而vue在dom重新渲染时有一个性能优化机制,就是相同dom会被复用,这就是问题所在,所以,通过key去标识一下当前行是唯一的,不许复用,就行了
- 网传的两个解决方法:
- v-if v-else-if v-else 改为v-show(亲测有用)
- el-table上每个el-table-column加 :key="Math.random()" (亲测有用)
② 样式踩坑
1,el-table在scoped的style中设置样式无效,求解
- 给el-table(加了一个class="employee-table")每行的最后一个td加上text-align:right 样式
- 样式写在style scoped居然无效:
<style scoped lang="scss"> // 无效样式
.employee-table .el-table__body tr td:last-child{
.cell {
text-align: right !important;
}
}
</style>
- 样式写在没有scoped中的style就生效了!!!求解
<style lang="scss">// 有效样式
.employee-table .el-table__body tr td:last-child{
.cell {
text-align: right !important;
}
}
</style>
③其他踩坑
1,项目开发过程中能在手机上访问
- 在package.json的
scripts dev
中添加 你的电脑ip的host,如图所示 - 添加后,重新运行即可生效
-
注意:添加后,本地电脑无法通过localhost访问了,也只能通过ip访问
-