本文介绍了移动表单中物料数据无法显示的问题排查过程。通过分析发现,showForm指令错误地使用了pc端的类而非移动端的类,导致数据无法加载。修改代码后,问题得到解决。作者强调pc端与移动端showForm指令的差异,并提醒编写规范代码的重要性。
背景:
新建了一个移动表单,表单绑定了物料字段(如图1)。直接预览该表单的时候,点击物料是可以看到物料数据的(如图2)。但是通过代码showForm打开这个移动表单,再点击物料,就没有物料数据(如图3)。
图1:
图2:
图3:
分析:
大家看图可以看到,我打开了响应的数据,发现数据是有响应回来,但是加载不出来。
于是和前端同事一起定位,发现是图2这里showForm的指令是打开pc端的物料。但是打开物料列表这个指令是平台底层调用的,不是二开实现的。二开实现的是打开他的父页面,即图1那张移动表单界面。
于是大胆怀疑,这个基础资料的showForm类型是用了父页面的showForm类型。查看我们的代码发现showForm的时候确实是用了pc端的FormShowParameter类,不是移动端的MobileFormShowParameter类。
知道问题之后就开始修改,只要把FormShowParameter改成MobileFormShowParameter即可。
解决:
按照思路修改之后,问题解决。修改代码如图:
总结:
pc端的showForm指令和移动端的ShowForm指令还是有不一样的地方,所以写代码的时候该用那个还是需要用哪个,不规范的代码会导致意想不到的问题,定位起来也比较复杂。
如果发现文章有什么问题欢迎大家指出,我将积极验证修改。如果有帮到你,还请来一波三连:关注,点赞,收藏【emoji】【emoji】。觉得有用也可以分享到公司云之家群,惠及其他同事,感谢您的耐心观看~~~
推荐阅读