卖火柴的咖啡猫
卖火柴的咖啡猫
  • 发布:2023-07-10 16:41
  • 更新:2023-07-13 16:02
  • 阅读:1045

【报Bug】uni-datetime-picker插件无法限制只能选择当前及以后时间

分类:uniCloud

产品分类: uniCloud/App

示例代码:
<template> <view> <uni-datetime-picker minDate="minDate" value="value" @change="handleChange"
></uni-datetime-picker>
</view>
</template>

<script>
export default {
data() {
return {
minDate: new Date(), // 设置为当前时间
value: new Date(),
};
},
methods: {
handleChange(date) {
console.log(date);
},
},
};
</script>

操作步骤:
<template> <view> <uni-datetime-picker minDate="minDate" value="value" @change="handleChange"
></uni-datetime-picker>
</view>
</template>

<script>
export default {
data() {
return {
minDate: new Date(), // 设置为当前时间
value: new Date(),
};
},
methods: {
handleChange(date) {
console.log(date);
},
},
};
</script>

预期结果:
<template> <view> <uni-datetime-picker minDate="minDate" value="value" @change="handleChange"
></uni-datetime-picker>
</view>
</template>

<script>
export default {
data() {
return {
minDate: new Date(), // 设置为当前时间
value: new Date(),
};
},
methods: {
handleChange(date) {
console.log(date);
},
},
};
</script>

实际结果:
<template> <view> <uni-datetime-picker minDate="minDate" value="value" @change="handleChange"
></uni-datetime-picker>
</view>
</template>

<script>
export default {
data() {
return {
minDate: new Date(), // 设置为当前时间
value: new Date(),
};
},
methods: {
handleChange(date) {
console.log(date);
},
},
};
</script>

bug描述:

uni-datetime-picker插件无法设置当前时间为最小值,怎么改都不行

2023-07-10 16:41 负责人:无 分享
已邀请:
昭昭L

昭昭L - 开心就好

拓展一下https://blog.csdn.net/qq_40881695/article/details/124894009

  • 卖火柴的咖啡猫 (作者)

    好的,谢谢哦,我只是觉得这么简单的常用需求官方应该有才对,为什么那么多方法无效,不知道算不算bug

    2023-07-10 17:41

昭昭L

昭昭L - 开心就好

不是bug,就是没这功能。这个功能确实挺常见的,可以提一个建议

  • 卖火柴的咖啡猫 (作者)

    如果只是没有这个功能,可以添加其他命令让其实现,现在的问题是怎么改都没有用

    2023-07-10 18:02

  • 卖火柴的咖啡猫 (作者)

    :picker-options="pickerOptions"

    pickerOptions:{ //禁用当前日期之前的日期

    disabledDate(time) {

    return time.getTime() < Date.now() - 8.64e7;

    },比如这个

    2023-07-10 18:03

昭昭L

昭昭L - 开心就好

:picker-options这个属性哪来的,他都没有暴露这个属性你传了当然没用。要去组件源码里面改,自己写个禁用日期的功能,再暴露出来

  • 卖火柴的咖啡猫 (作者)

    看到很多人这么写的,主要自己不会改,插件试了几个发现不好用

    2023-07-12 11:49

  • 昭昭L

    回复 1***@qq.com: 只能把结束的时间也写上了(写能这个选择器最后一个时间的时间戳),单写一个开始时间确实不生效

    2023-07-12 15:29

昭昭L

昭昭L - 开心就好

不想二开可以去插件市场看看有没有被人封装好的

昭昭L

昭昭L - 开心就好

picker-options这个属性是element的时间选择器的

  • 卖火柴的咖啡猫 (作者)

    这样啊,我太菜了哎

    2023-07-12 20:42

  • 卖火柴的咖啡猫 (作者)

    哈哈,竟然解决了,不可思议,就很少的代码,贴上来给有需要的朋友,先给起始时间定义变量,:start="startDate" :end="endDate",然后mounted() {

    // 获取当前日期并设置为 startDate 的值

    const currentDate = new Date();

    this.startDate = uni.getSystemInfoSync().version >= 1.2 ? currentDate.getFullYear() + '-' + (currentDate.getMonth() + 1) + '-' + currentDate.getDate() : currentDate.toLocaleDateString();

    },获取当前日期设置为开始日期就可以啦,谢谢你哈

    2023-07-13 15:55

昭昭L

昭昭L - 开心就好

这个确实可以啊,我以为你知道这个属性呢,但是这个必须要设置一个已知结束时间,单单设置一个开始时间无效。

  • 卖火柴的咖啡猫 (作者)

    我不知道呢,我问的百度哈哈,投机取巧的

    2023-07-13 16:56

该问题目前已经被锁定, 无法添加新回复