- 需求的场景描述(希望解决的问题)
自定义组件有多个具名slot,需要根据是否传入slot来做一些处理
```
<view class="dialog {{className}}" catchtap="dialogTap">
<view class="dialog-title">
<text>{{title}}</text>
<slot name="title"></slot>
</view>
</view>
```
比如上述代码,如果传入了title的slot,则显示传入的slot; 如果传入了title属性,则显示test组件;如果两个都不存在,隐藏dialog-title;但是没法判断两个都不存在?(没法判断有没有传入title的slot)
- 希望提供的能力
希望有api可以判断外部是否传入了某个slot
还不支持吗,都2024了
这里可以使用另一种方式来实现,如果提供了 title 属性,则展示内部的 title,如果没有提供title属性,想使用 title 命名插槽,则可以增加属性 use-title-slot 来表示使用了插槽 XXX.js ``` Component({ // ... properties: { title: String, useTitleSlot: Boolean // 是否使用title插槽 } }) ``` XXX.wxml ``` <view class="dialog {{className}}" catchtap="dialogTap"> <view wx:if="{{ title || useTitleSlot }}" class="dialog-title"> <text wx:if="{{ title }}" >{{title}}</text> <slot wx:else name="title"></slot> </view> </view> ```
2024.09.01 +1
后续版本会支持该特性,请关注小程序的功能更新,谢谢!