s***@163.com
s***@163.com
  • 发布:2022-03-10 10:04
  • 更新:2023-08-14 15:19
  • 阅读:732

【报Bug】uniapp 的picker 没法选择1961之前 的年份

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win10

HBuilderX类型: 正式

HBuilderX版本号: 3.3.11

手机系统: Android

手机系统版本号: Android 7.0

手机厂商: 华为

手机机型: AGS-L09

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

<picker mode="date" start="1900-01-01" value="date" fields="year" ></picker>

预期结果:

应该可以选择更多的时间

实际结果:

但是只能选择到1961无法在往前选择

bug描述:

picker 添加 fields="year",最小时间只能到1961,没法再往前选择

2022-03-10 10:04 负责人:无 分享
已邀请:
[已删除]

[已删除]

你是在添加历史名人吗?你可以设置一下start的值

  • s***@163.com (作者)

    设置了不管用 1961之前的年份只能通过月份回退, 微信小程序运行没这个问题,只有APP会这样

    2022-03-10 10:18

1***@qq.com

1***@qq.com

将mainifest.json中的nvueCompiler设置为weex试试

8***@qq.com

8***@qq.com

同样的bug @官方

林茜

林茜

遇到同样的问题,请问有解决方法了吗

5***@qq.com

5***@qq.com

请问楼主已经找到解决办法了吗

喜欢技术的前端

喜欢技术的前端 - QQ---445849201

刚试了 官方uni-app得 hello 示例 ,在 pages/component/picker/picker.vue 页面 的getDate方法中有限制,修改 if (type === 'start') 和 else if (type === 'end') 里面的年份限制

function getDate(type) {  
        const date = new Date();  

        let year = date.getFullYear();  
        let month = date.getMonth() + 1;  
        let day = date.getDate();  

        if (type === 'start') {  
            year = year - 100;//原来是10  改为 100  
        } else if (type === 'end') {  
            year = year + 100;//原来是10  改为 100  
        }  
        month = month > 9 ? month : '0' + month;;  
        day = day > 9 ? day : '0' + day;  

        return `${year}-${month}-${day}`;  
    }

要回复问题请先登录注册