Vue slot 默认值取其他 slot

有时候,你想让你的 slot  默认使用其他传进来的 slot 值,而且还支持对当前的 slot 修改,比如你的代码如下

<slot name="slot1" :data1="item">
  ...
</slot>
<slot name="slot2" :data2="item">
  <slot name="slot1" :data1="item">
    <view>{
   
   {item.name}}</view>
  </slot>
</slot>

如上,你想让 slot2 默认使用 slot1 的值,并且你还希望能 slot2  依旧能支持自定义传入VNode,你可以这样做:

1. 只传入 slot1 VNode,让 slot2 默认使用 slot1 的VNode:

<template v-slot:slot1="{ data1 }">
  <view>{
   
   { data1.name }}</view>
</template>

2. 传入 slot2 VNode 让让 slot2 使用自己的VNode

<template v-slot:slot2="{ data2 }">
  <view>{
   
   { data2.name }}, {
   
   { data2.sex }}</view>
</template>

おすすめ

転載: blog.csdn.net/qq_41887214/article/details/121344177