美文网首页
better-scroll 和v-show导致不能滚动的bug

better-scroll 和v-show导致不能滚动的bug

作者: qjsxq | 来源:发表于2022-03-03 18:45 被阅读0次

    我是一个页面多个子组件,每个子组件都有一个BScroll,通过v-show判断显示子组件

    <medical-card v-show="pageIndex == 0"></medical-card>
    <health-records v-show="pageIndex == 1" ref="healthRecords" ></health-records>
     <historical-order v-show="pageIndex == 2" ref="historicalOrder"></historical-order>
    

    导致后面两个子组件不能滚动
    原因是 v-show=false 时 display为none 子组件没有高度导致内部的scroll没有高度,所以不能滚动
    解决:判断v-show=true时主动刷新scroll

    function tabsClickAction(index) {
          state.pageIndex = index;
          if (index == 1) {
            healthRecords.value.refreshPage();
          }
          if (index == 2) {
            historicalOrder.value.refreshPage();
          }
          console.log(state.pageIndex);
        }
    

    子组件内部方法

    function refreshPage() {
        scroll.value.refresh();
    }
    

    相关文章

      网友评论

          本文标题:better-scroll 和v-show导致不能滚动的bug

          本文链接:https://www.haomeiwen.com/subject/xksurrtx.html