小程序自定义组件如何实现下拉加载和上拉刷新
发布于 3 年前 作者 zhouyong 3538 次浏览 来自 分享

当父组件引用了子组件的时候,会遇到父组件执行子组件的方法,比如下拉刷新上拉加载等事件只有在页面中才能检测到,但是获取数据的方法在子组件,这时就可以执行子组件方法。

思路很简单,类似于vue中给子组件加ref执行子组件方法道理一样,这里是给子组件加一个 属性:  id=“子组件名称”,比如:

<list id="list"></list>

然后在父组件对应的方法中直接

this.selectComponent("#list").getList();

如果涉及到多次调用该子组件的方法,可以在onReady生命周期中定义一下,比如:

 onReady:function(){
    this.list = this.selectComponent("#list");
  },

之后在方法中再调用的时候直接用this.list.方法名就可以了。比如:

onPullDownRefresh() {
    let that=this;
    this.list.getList();
    setTimeout(function(){
    wx.stopPullDownRefresh()
    },1000)
  },
回到顶部