r***@126.com
r***@126.com
  • 发布:2021-05-23 00:37
  • 更新:2021-05-26 15:07
  • 阅读:1319

uni-datetime-picker timestam提交显示类型无效

分类:uni-app

使用schema2code代码生成系统创建的表单中包含timestamp类型的输入字段时,

<uni-datetime-picker return-type="timestamp" :value="formData.activity_start_time" />

选择日期提交后会显示“时间类型无效”的错误信息

2021-05-23 00:37 负责人:jxtian 分享
已邀请:
r***@126.com

r***@126.com (作者)

代码如图,请问大概是哪里出了问题

薄荷君

薄荷君

我也遇到了,最后我改了uni-datatime-picker的代码...
用你的代码来解释:这个问题的原因是,uni-datatime-picker组件,选择时间的时候,点击确定,给formData.activity_start_time赋值了,赋了一个01:17:54的string,然后再点击日历控件右下角的确定,日期+时间的时间戳没有赋值...
我的解决方案:
修改uni_modules/uni-datatime-picker/components/uni-datatime-picker/uni-datatime-picker.vue文件
1、export default {}代码块中加一个方法:

// 为修改不赋值问题添加 begin  
        created() {  
            this.form = this.getForm('uniForms')  
            this.formItem = this.getForm('uniFormsItem')  

            if (this.formItem) {  
                if (this.formItem.name) {  
                    this.rename = this.formItem.name  
                    this.form.inputChildrens.push(this)  
                }  
            }  
        },  
        // 为修改不赋值问题添加 end

2、在methods:{}代码块里添加:

// 为修改不赋值问题添加 begin  
            getForm(name = 'uniForms') {  
                let parent = this.$parent;  
                let parentName = parent.$options.name;  
                while (parentName !== name) {  
                    parent = parent.$parent;  
                    if (!parent) return false  
                    parentName = parent.$options.name;  
                }  
                return parent;  
            },  
            // 为修改不赋值问题添加 end

你可以试试

  • r***@126.com (作者)

    谢谢哈,已经找解决了。我的情况是把:value改成了v-model双向数据绑定,因为代码之前是schema2code生成的,有的其他控件数据绑定都是v-model,没注意到时间选择控件是:value

    2021-05-27 08:09

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