解决Vue使用mint

网友投稿 283 2023-03-19


解决Vue使用mint

所遇问题:

该页面为双选项卡联动,四个部分都需要上拉加载和下拉刷新功能,使用的mint-ui的loadmore插件,分别加上上拉加载后,只有最后一个的this.$refs.loadmore.onTopLoaded();和this.$refs.loadmore.onBottomLoaded();

有效,其他的三个都无效,这两句话是意思是查询完要调用一次,用于重新定位

分析原因:

首先这四个模块都是用的

:bottom-method="loadBottom"

:bottom-all-loaded="allLoaded"

ref="loadmore">

    :bottom-method="loadBottom"

    :bottom-all-loaded="allLoaded"

    ref="loadmore">

    {{item.a}}

    {{item.b}}

    ¥{{item.c}}

    top-method和bottom-method,bottom-all-loaded分别赋予不同的事件名,前两个事件分别表示下拉,上拉,第三个若为真,则 bottomMethod 不会被再次触发,一般进入页面我们默认为false

    调用接口成功后进行的取消加载的判断,这里可以给接口的方法一个type值,如果type为top1时则证明正在进行的是下拉刷新执行this.$refs.loadmore1.onTopLoaded();,上拉加载同理,其他三个模块同理

    if(type=='top1'){

    this.$refs.loadmore1.onTopLoaded();

    }else if(type=='bottom1'){

    this.$refs.loadmore1.onBottomLoaded();

    到了这里就会出现开始所描述问题,

    解决方法

    一开始做了很多http://尝试,比如利用v-if当一个模块显示时让其http://他三个隐藏,总是会出现不同的问题,后来将ref="loadmore"中ref后的参数在四个模块中做了区分比如分别为loadmore1,loadmore2……,这里我是这样理解的,ref 在此的作用为子组件指定一个索引 ID,类似于dom元素的id,id名不能相同,所以我们将ref修改为不同的参数,问题解决,

    附vue官网链接https://vuejs.org/

    mint-ui:https://mint-ui.github.io/docs/#/en2/loadmore

    PS:mint-ui loadmore组件注意问题

    loadTop(){

    this.$store.dispatch('getNewsList',{channelId:this.id,page:0,size:this.size});

    this.$refs.loadmore.onTopLoaded();

    },

    比如在做下拉刷新的时候,切记在下拉刷新的函数中要加

    this.$refs.loadmore.onTopLoaded();

    这行代码,否则下拉加载之后一直显示加载中,而不会加载完成。

    总结

    以上所述是给大家介绍的Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,会及时回复大家的。在此也非常感谢大家对我们网站的支持!


    版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

    上一篇:浅谈ES6 模板字符串的具体使用方法
    下一篇:API接口文档的编写(api接口文档怎么写)
    相关文章

     发表评论

    暂时没有评论,来抢沙发吧~