taro-ui-vue3 的 Picker 组件,通过设置 start 和 end 属性来限制时间范围,开始时间不能大于结束时间,结束时间不能小于开始时间,当开始时间和结束时间选的是同一天会报错
时间: 2023-07-21 16:02:57 浏览: 43
是的,这是因为Picker组件在设置时间范围时,会根据start和end属性生成一个可选时间列表。当开始时间和结束时间选的是同一天时,生成的可选时间列表为空,导致报错。
为了避免这个问题,你可以在代码中判断开始时间和结束时间是否为同一天,如果是,则将结束时间加上一天,以保证生成的可选时间列表不为空。例如:
```vue
<template>
<picker :start="startTime" :end="endTime"></picker>
</template>
<script>
import { ref } from 'vue';
import { Picker } from 'taro-ui-vue3';
export default {
components: {
Picker,
},
setup() {
const startDate = new Date();
const endDate = new Date(startDate.getTime() + 24 * 60 * 60 * 1000); // 结束时间加上一天
const startTime = ref(startDate.toISOString().slice(0, 10));
const endTime = ref(endDate.toISOString().slice(0, 10));
return {
startTime,
endTime,
};
},
};
</script>
```
这样,在选择同一天的开始时间和结束时间时,就不会出现报错了。