<script>
import {
validator
} from '../../js_sdk/validator/opendb-feedback.js';
console.log(validator);
const db = uniCloud.database();
const dbCollectionName = 'opendb-feedback';
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 = {
"content": "",
"imgs": [],
"contact": "",
"mobile": ""
}
return {
formData,
formOptions: {},
rules: {
...getValidator(Object.keys(formData))
}
}
},
onReady() {
this.$refs.form.setRules(this.rules)
},
methods: {
/**
* 触发表单提交
*/
submit() {
uni.showLoading({
mask: true
})
this.$refs.form.validate().then((res) => {
this.submitForm(res)
}).catch(() => {
uni.hideLoading()
})
},
submitForm(value) {
// 使用 clientDB 提交数据
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
})
}).finally(() => {
uni.hideLoading()
})
}
}
}
</script>
3 个回复
u***@qq.com (作者)
DCloud_uniCloud_WYQ
这个代码是生成的还是你自己写的?
u***@qq.com (作者)
schema自动生成的,不是自己写的。
2021-10-18 14:20
u***@qq.com (作者)
unicloud插件市场导入的 问题反馈页面模板 里面的也是这么写的。
2021-10-18 14:40
DCloud_uni-ad_HDX
如果是首页,请手动删除下面的代码,然后根据自己的业务跳转
u***@qq.com (作者)
好的,已解决。感谢
2021-10-20 17:09