[youzan/vant]PickerGroup中默认插槽使用两个以上的picker,onConfirm回调中只有两个picker参数

2023-12-18 253 views
6
重现链接

none

Vant 版本

4.0.10

描述一下你遇到的问题。


<van-picker-group :tabs="tabs" @confirm="onConfirm" @cancel="onCancel">

      <template #title>
          这里的title插槽是无效的,issue已经提交
      </template>

      <van-date-picker v-model="startDate" :min-date="minDate" :max-date="maxDate" />

      <van-time-picker v-if="useTime" v-model="startTime" :columns-type="['hour', 'minute', 'second']" />

      <van-date-picker v-model="endDate" :min-date="minDate" :max-date="maxDate" />

      <van-time-picker v-if="useTime" v-model="endTime" :columns-type="['hour', 'minute', 'second']" />

  </van-picker-group>

### 重现步骤

PickerGroup中默认插槽使用两个以上的picker
onConfirm回调中只有两个picker参数

### 设备/浏览器

_No response_

回答

9

你这似乎是v-if的问题和插槽中组件的个数没太大关系。

6

可以试一下,不用v-if也是一样的

5

确实,不过这应该是由于PickerGroup中的Tabs组件默认开启了懒加载,第三个组件没加载出来导致的。

1

应该是的,因为我切换到第三个tab之后,就能获取到全部的四个picker参数,但这个懒加载应该作为配置项让使用者选择,我不得不因此写了很多兼容代码

1

下个版本会把 PickerGroup 里的 Tabs 懒加载默认禁用掉,这样可以有正确的回调参数。