求助一个关于Vue 插槽的问题?

作者站长头像
站长
· 阅读数 8

项目内部封装一个通用组件,组件内部有很多插槽,我现在基于这个通用组件增加功能在封装了一层,但是这时候发现slot失效了,经过多次调试发现,并不是slot失效了,是“通用组件”内部 在使用具名插槽的地方加了一层判断 v-if="$slots[xxx]", 导致元素未渲染,请问这是什么原因呢?求助一个关于Vue 插槽的问题?

这里可看到 https://codesandbox.io/s/old-pond-95ljj6?file=/src/App.vue

回复
1个回答
avatar
test
2024-07-02

找到对应的代码改成如下:

 <template v-for="(scopedSlot, name) in $scopedSlots" v-slot:[name]>
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容