前提:页面根据查询条件显示内容,此时页面标记为a,在此基础上跳转到其他页面,然后返回时携带内容完好。
问题:在前提完善的条件下,页面应按根据查询条件查询结果所显示的页面,即前提中的a画面,但是现在的问题是,查询栏数据正确,但是内容却非原来a页面中查询出来的数据。
原因及解决方法:就是在挂载方法中,携带的查询条件没有第一时间设置回去,导致页面查询完,才把条件赋值回去才导致的问题
//导致问题代码
onMounted(async () => {
//其他业务代码
......
//查询条件,页面参数内容设置
if (route.query.data) {
searchInfo.value = getDecodeByBase64(route.query.data).tableData;
setPagination(searchInfo.value);
await getForm().setFieldsValue(searchInfo.value);
}
});
//问题解决后代码
onMounted(async () => {
//查询条件,页面参数内容设置
if (route.query.data) {
searchInfo.value = getDecodeByBase64(route.query.data).tableData;
setPagination(searchInfo.value);
await getForm().setFieldsValue(searchInfo.value);
}
//其他业务代码
......
});
结论:vue3中,有许多节点,这些在学习理论的时候强调了重要性,却没有通过实际的案例去区分过,所以在许多节点,你看到前端操作页面的打印值有,页面却显示不了,这都是展示与查询值的前后顺序关系,如果同步不行,建议改成异步试试,本人后端,对于前端只限实操,理论不足请见谅。