uni-app picker组件mode="date"且fields="month"时 滚动日期最小只能滚动到1960年

uni-app picker组件mode="date"且fields="month"时 滚动日期最小只能滚动到1960年

类别 信息
产品分类 uniapp/App
PC开发环境 Windows
PC版本号 1909
HBuilderX类型 正式
HBuilderX版本 3.2.7
手机系统 Android
手机系统版本 Android 11
手机厂商 华为
手机机型 HUAWEI TAS-AN00
页面类型 vue
打包方式 云端
项目创建方式 HBuilderX

操作步骤:

在使用uni-datetime-picker控件时,发现日期最小值只能滚动到1960年,但是我们使用这个控件选择出生日期,导致年龄太大的用户没有办法选择。查看以后发现是picker组件mode="date"并且fields="month"只能选择1960-01-01到2082-12-31,导致uni-datetime-picker也出现同样问题。

预期结果:

预期滚动到1920年

实际结果:

实际只能滚动到1960年

图片

bug描述:

在使用uni-datetime-picker控件时,发现日期最小值只能滚动到1960年,但是我们使用这个控件选择出生日期,导致年龄太大的用户没有办法选择。查看以后发现是picker组件mode="date"并且fields="month"只能选择1960-01-01到2082-12-31,导致uni-datetime-picker也出现同样问题。


更多关于uni-app picker组件mode="date"且fields="month"时 滚动日期最小只能滚动到1960年的实战教程也可以访问 https://www.itying.com/category-93-b0.html

12 回复

预计下版修复

更多关于uni-app picker组件mode="date"且fields="month"时 滚动日期最小只能滚动到1960年的实战教程也可以访问 https://www.itying.com/category-93-b0.html


你好,这个问题到现在还没有修复,请问该怎么办

回复 5***@qq.com: 你怎么使用的?在哪端?什么版本?设置 start 属性了吗?

设置一下 start

start end只能设置符合条件的区间但是可选范围还是改不了的,所有机型都是这样,麻烦您检查一下?

能只显示特定范围吗?比如只显示2000年到2030年,而不是设置完起止日期后选择2009年自动跳到2000年,是只显示2000年到2030年这30年

回复 比丢大人: 目前只有超出默认值范围之后行为才是如此。

回复 DCloud_UNI_GSQ: 我的意思是:如何把start 和 end 范围外的数据隐藏掉呢

alpha 3.6.7 已修复

最新的正式版什么时候更新

现在的版本又是出现同样的问题,现在只能滚到1962年

这是一个已知的uni-app picker组件在特定模式下的限制。当设置mode="date"fields="month"时,picker的默认日期范围确实是1960-01-01到2082-12-31,这是组件内置的默认时间范围。

要解决这个问题,您可以通过设置startend属性来自定义日期范围。例如:

<picker 
  mode="date" 
  fields="month" 
  :start="1920-01-01" 
  :end="2082-12-31"
  @change="dateChange">
</picker>

对于uni-datetime-picker组件,同样可以通过设置startend属性来扩展日期范围:

<uni-datetime-picker 
  type="date" 
  :start="1920-01-01" 
  :end="2082-12-31"
  v-model="birthDate">
</uni-datetime-picker>
回到顶部