代码拉取完成,页面将自动刷新
edit.vue里的提交部分的代码如下
handleSubmit() {
const {form: {validateFields}} = this
this.confirmLoading = true
validateFields((errors, values) => {
if (!errors) {
for (const key in values) {
if (typeof (values[key]) === 'object') {
values[key] = JSON.stringify(values[key])
}
}
iotProductPropertyEdit(values).then((res) => {
if (res.success) {
this.$message.success('编辑成功')
this.confirmLoading = false
this.$emit('ok', values)
this.handleCancel()
} else {
this.$message.error('编辑失败')// + res.message
}
}).finally((res) => {
this.confirmLoading = false
})
} else {
this.confirmLoading = false
}
})
},
其中
if (typeof (values[key]) === 'object') {
values[key] = JSON.stringify(values[key])
}
当数据为 null 时,这段代码会将 null 转变成 "null"
建议添加 null 判断,比如:
if (values[key] && (typeof (values[key]) === 'object')) {
...
}
复现步骤
1)使用代码生成器生成代码,并重启服务
2)点击添加记录的按钮弹出表单,并添加一条记录,注意 允许为空的字段不要填写任何值
3)点击刚才添加的那条记录的编辑按钮,打开编辑框,直接点击保存
4)此时,原本数据库里为null的记录此时变成了"null"
就是 数据库里的 null 值拿到前端之后,变成了"null"再存入到了数据库中
发生这一过程的代码就是
if (typeof (values[key]) === 'object') {
values[key] = JSON.stringify(values[key])
}
因为JSON.stringify(null) 的结果是 "null"
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
好的收到,我这边复现下
登录 后才可以发表评论