表单校验代码,两种方式校验,自定义的一种校验,与element-ui组件原始的el-form表单的校验不一样,需要传递props和rules过去校验
const nextStep = () => {const data = taskMsgInstance.value.formDataif(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();
});