使用schema2code代码生成系统创建的表单中包含timestamp类型的输入字段时,
<uni-datetime-picker return-type="timestamp" :value="formData.activity_start_time" />
选择日期提交后会显示“时间类型无效”的错误信息
使用schema2code代码生成系统创建的表单中包含timestamp类型的输入字段时,
<uni-datetime-picker return-type="timestamp" :value="formData.activity_start_time" />
选择日期提交后会显示“时间类型无效”的错误信息
我也遇到了,最后我改了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