表单校验代码,两种方式校验,自定义的一种校验,与element-ui组件原始的el-form表单的校验不一样,需要传递props和rules过去校验
const nextStep = () => {
const data = taskMsgInstance.value.formData
if(data.upGradeOrg === '') {
elmessage('请选择组织!', 'error')
return
}
if(data.upGradeName === '') {
elmessage('请输入任务名称!', 'error')
return
}
if(data.productName === '') {
elmessage('请选择网关型号!', 'error')
return
}
if(data.upGradeVer === '') {
elmessage('请选择网管型号版本!', 'error')
return
}
console.log(itemData, 'itemData')
taskMsgStep.value = "2";
// let isFlag = false;
// let data = taskMsgInstance.value.submitForm();
// for (const key in data) {
// if (data.hasOwnProperty(key)) {
// if (!data[key] || data[key].length <= 0) {
// // console.log(key, data[key]);
// isFlag = false;
// return;
// }
// }
// }
// isFlag = true;
// if (isFlag) {
// taskMsgStep.value = "2";
// }
};
一个比较新的错误,在项目当中使用pinia存储使用,
退出登录,初次进入页面,在首个使用pinia数据的地方,
console.log(organize, userInfo, "organize");
打印数据信息,
Proxy(Object) {$treeNodeId: 0}[[Handler]]: MutableReactiveHandler[[Target]]: Object$treeNodeId: 0[[Prototype]]: Object[[IsRevoked]]: false
组织信息获取不到,导致页面加载不出来
报错信息:
chunk-DCRDI3XN.js?v=bf922fc0:55252Uncaught (in promise) TypeError: Cannot redefine property: $treeNodeId
没有指定具体出错的页面,错误的方面可能是多种情况
处理的树节点有错误,没有数据传递过去
可能也是路由渲染这个页面的时候报错,菜单栏达不到,页面当中的其他地方也点不了
加上一个三元判断式子就可以了,确保传递给树形结构的值不会为空或者是一个undefined
{
model: organize ? organize : [],
}
如果要保险一点,可以在组件生命周期钩子请求的地方加上async和await确保异步数据加载完成
onBeforeMount(async () => {
await getUserInfos();
await getOrganize();
});