xsscc
xsscc
  • 发布:2023-08-20 19:32
  • 更新:2023-08-20 19:48
  • 阅读:241

【报Bug】datetime-picker组件选择年限只能到1970年,再拉到1969年以上的就会自动弹回1970年

分类:uni-app

产品分类: uniapp/小程序/微信

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.8.12

第三方开发者工具版本号: 1.06.2306020

基础库版本号: 2.2.24

项目创建方式: HBuilderX

示例代码:
 <uni-forms-item name="happen_time" label="时间">  
        <uni-datetime-picker     
            type="datetime"   
            return-type="timestamp"   
            v-model="formData.happen_time"   
            :start="-2209017943000"   
            :end="new Date().getTime()"   
            placeholder="交易时间"></uni-datetime-picker>  
      </uni-forms-item>

操作步骤:
  <view class="uni-container">  
    <uni-forms ref="form" :model="formData" validate-trigger="submit" err-show-type="toast">  
      <!-- <uni-forms-item name="accbook_id" label="">  
        <uni-easyinput placeholder="账本id" v-model="formData.accbook_id"></uni-easyinput>  
      </uni-forms-item> -->  
      <uni-forms-item name="type" label="类型">  
        <uni-data-checkbox v-model="formData.type" :localdata="formOptions.type_localdata"></uni-data-checkbox>  
      </uni-forms-item>  
      <uni-forms-item name="money" label="金额">  
        <uni-easyinput placeholder="单位为元,最多两位小数" type="number" v-model="formData.money"></uni-easyinput>  
      </uni-forms-item>  
      <uni-forms-item name="stat" label="状态">  
        <uni-data-checkbox v-model="formData.stat" :localdata="formOptions.stat_localdata"></uni-data-checkbox>  
      </uni-forms-item>  
      <uni-forms-item name="happen_time" label="时间">  
        <uni-datetime-picker     
            type="datetime"   
            return-type="timestamp"   
            v-model="formData.happen_time"   
            :start="-2209017943000"   
            :end="new Date().getTime()"   
            placeholder="交易时间"></uni-datetime-picker>  
      </uni-forms-item>  
      <uni-forms-item name="remarks" label="备注">  
        <uni-easyinput placeholder="交易记账说明" v-model="formData.remarks"></uni-easyinput>  
      </uni-forms-item>  
      <view class="uni-button-group">  
        <button type="primary" class="uni-button" @click="submit">提交</button>  
      </view>  
    </uni-forms>  
  </view>  
</template>  

<script>  

  const db = uniCloud.database();  
  const dbCollectionName = 'accbookd';  

  function getValidator(fields) {  
    let result = {}  
    for (let key in validator) {  
      if (fields.indexOf(key) > -1) {  
        result[key] = validator[key]  
      }  
    }  
    return result  
  }  

  export default {  
    data() {  
      let formData = {  
        "accbook_id": "",  
        "type": 1,  
        "money": null,  
        "stat": 1,  
        "happen_time": null,  
        "remarks": ""  
      }  
      return {  
        formData,  
        formOptions: {  
          "type_localdata": [  
            {  
              "text": "入账",  
              "value": 1  
            },  
            {  
              "text": "出账",  
              "value": 0  
            }  
          ],  
          "stat_localdata": [  
            {  
              "text": "有效",  
              "value": 1  
            },  
            {  
              "text": "无效",  
              "value": 0  
            }  
          ]  
        },  
        rules: {  
          ...getValidator(Object.keys(formData))  
        }  
      }  
    },  
    onReady() {  
      this.$refs.form.setRules(this.rules)  
    },  
    onLoad(e) {  
        if(e.accbookId){  
            this.formData.accbook_id = e.accbookId;  
        }else{  
            uni.showToast({  
                title:'没有取得账本id'  
            })  
        }  
    },  
    methods: {  

      /**  
       * 提交表单  
       */  
      submitForm(value) {  
        // 使用 clientDB 提交数据  
        return db.collection(dbCollectionName).add(value).then((res) => {  
          uni.showToast({  
            icon: 'none',  
            title: '新增成功'  
          })  
          this.getOpenerEventChannel().emit('refreshData')  
          setTimeout(() => uni.navigateBack(), 500)  
        }).catch((err) => {  
          uni.showModal({  
            content: err.message || '请求服务失败',  
            showCancel: false  
          })  
        })  
      }  
    }  
  }  
</script>  

<style>  
  .uni-container {  
    padding: 15px;  
  }  

  .uni-input-border,  
  .uni-textarea-border {  
    width: 100%;  
    font-size: 14px;  
    color: #666;  
    border: 1px #e5e5e5 solid;  
    border-radius: 5px;  
    box-sizing: border-box;  
  }  

  .uni-input-border {  
    padding: 0 10px;  
    height: 35px;  

  }  

  .uni-textarea-border {  
    padding: 10px;  
    height: 80px;  
  }  

  .uni-button-group {  
    margin-top: 50px;  
    /* #ifndef APP-NVUE */  
    display: flex;  
    /* #endif */  
    justify-content: center;  
  }  

  .uni-button {  
    width: 184px;  
  }  
</style>

预期结果:

正常期待可以选择1938年

实际结果:

1970

bug描述:

想选择输入一个90老人的生日,发现年限只能选择到1970年。是从小程序开发工具上测试的。

2023-08-20 19:32 负责人:无 分享
已邀请:
xsscc

xsscc (作者)

在手机上是正常的,没有这个问题。不好意思哈!

要回复问题请先登录注册