关于微搭web端跳转到本页面并传递参数的问题

前言

好多天没做笔记了,最近遇到一个略微有些麻烦的地方,想实现的需求大致如下,A页面是仓库的入库列表页,B页面是入库提交页,点击A页中的单条数据跳转到B页,填写补充信息后进行提交。目前需要实现两点:

  • 这条数据提交后,页面中记忆上条数据填写的信息并渲染在页面上
  • 这条数据提交后,B页面中显示下一条将要入库的数据

对于第一个需求,我觉得并不难实现,提交时将表单数据存储到全局变量中即可,再次刷新时渲染到页面上。第二个需求,我刚开始的想法是提交完成后跳转到本页面,并传递url参数。

解决方案

需求一

表单容器提交后给变量赋值,再在页面中重新渲染

image-20231206130044559

需求二

反复测试后我发现微搭web端目前不兼容跳转到本页面的方法,所以初次想的解放方案不可行。目前有两种方法:

1.表单提交后跳转到一个空白页,再从空白页跳转回来并传递参数,考虑到页面交互效果,可以给空白页做一个加载状态,这样也能轻松实现。

2.表单提交后清空表单值,并给当前B页面的id赋值,调用query查询。

以下展开第二种方法:

image-20231206130441504 image-20231206130602287

在query查询中当id值变化时会重新查询“收获登记”这个数据表,再把查询到的下一条待入库的数据返回一个对象。

总结

逻辑上是可行的,但是实现过程中需求一的功能已经消失。每次提交后表单全部值都置空了,并且不会显示当前全局变量中存储的数据,后来发现是表单执行方法那里应该是清空校验,我选择了置空。

image-20231206131540189

修改成清空校验后,目前页面上表单中所有的input值都显示,想要只显示一部分,则在表单清空校验后再调用自定义方法,单独清除部分input的值

1
2
3
4
$w.inputNumber2.clearValue();
$w.input1.clearValue();
$w.input2.clearValue()
$w.input3.clearValue()