收藏
回答

chooseMedia会调用onShow刷新页面?

问题:chooseMedia结束后会自动调用onShow,而且没有option参数,会导致之前在onShow之后做出的setData被覆盖,页面刷新,如果页面元素很多的话,甚至会闪,体验很不好。

预期:chooseMedia后不自动调用onShow,让开发者自己setData刷新视图

代码片段:https://developers.weixin.qq.com/s/6ydUePmw7QCk

回答关注问题邀请回答
收藏

2 个回答

  • buzz
    buzz
    2022-10-07

    何止chooseMedia,还有很多场景都会触发onHide和onShow,比如分享。

    这分明就是你的onShow里的逻辑太简单了。。。

    2022-10-07
    有用 1
    回复 3
    • 小猪快跑
      小猪快跑
      2022-10-07
      对,好像涉及到微信部分的功能都会触发。逻辑简单因为功能就很简单,但是页面图片比较多,渲染两组list体验就不怎么好了。就像ajax相比form的无刷新,体验就好很多
      2022-10-07
      1
      回复
    • buzz
      buzz
      2022-10-07回复小猪快跑
      所以你这完全是自己就能解决的问题,微信根本不会去做这种多余的事情
      2022-10-07
      1
      回复
    • 小猪快跑
      小猪快跑
      2022-10-07回复buzz
      明白了,3Q
      2022-10-07
      1
      回复
  • Frank
    Frank
    2022-10-07

    不要在onShow里面调用chooseMedia,否则选然后文件之后,回到当前页面,会再次执行onShow里面的方法

    2022-10-07
    有用 3
    回复 1
    • 小猪快跑
      小猪快跑
      2022-10-07
      是的,chooseMedia时页面会先onHide,返回又触发onShow,页面刷新是因为有setData,逻辑和渲染两条线。楼下说的是对的,onShow里逻辑太简单了,返回onShow里没有参数,加个变量就可以了。
      2022-10-07
      2
      回复
登录 后发表内容