表單校驗代碼,兩種方式校驗,自定義的一種校驗,與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();
});
?