表单校验代码和树形结构值传递错误解决

发布于:2025-06-01 ⋅ 阅读:(26) ⋅ 点赞:(0)

表单校验代码,两种方式校验,自定义的一种校验,与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();

});

 


网站公告

今日签到

点亮在社区的每一天
去签到