收藏
回答

在win微信开发工具上 下拉刷新会连续触发

框架类型 问题类型 操作系统 工具版本
小程序 Bug Windows 1.02.1805180


var Service = require('../../utils/Service.js');
 
var util = require('../../utils/util.js');
 
 
 
Page({
 
 
 
/**
 
   * 页面的初始数据
 
   */
 
data: {
 
getDataState: true,
 
globalLoading: true,
 
animationBeingLoaded: {},
 
BeingLoadedState: {
 
text: '没有更多数据',
 
show: false,
 
icon: false
 
},
 
movieData: null,
 
FilmStars: {}
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面加载
 
   */
 
onLoad: function (options) {
 
wx.setNavigationBarTitle({
 
title: '豆瓣电影 新片榜'
 
});
 
this.getData();
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面初次渲染完成
 
   */
 
onReady: function () {
 
 
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面显示
 
   */
 
onShow: function () {
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面隐藏
 
   */
 
onHide: function () {
 
},
 
 
 
/**
 
   * 生命周期函数--监听页面卸载
 
   */
 
onUnload: function () {
 
},
 
 
 
onPullDownRefresh: function () {
 
var that = this;
 
wx.startPullDownRefresh();
 
if(that.data.getDataState){
 
that.getData();
 
}else{
 
console.log("操作频繁");
 
}
 
},
 
 
 
/**
 
   * 自定义函数
 
   */
 
 
 
// 请求数据
 
getData: function () {
 
var that = this;
 
that.setData({
 
getDataState: false
 
});
 
wx.request({
 
url: Service.DoubanApi.new_movies,
 
method: 'GET',
 
data: {},
 
header: {
 
'content-type': 'json'
 
},
 
success: function (res) {
 
console.log(res);
 
that.setData({
 
getDataState: true
 
});
 
if (res.statusCode == 200) {
 
var ToastText = '';
 
if(that.data.movieData != null){
 
wx.showToast({
 
title: '刷新成功',
 
icon: 'success',
 
duration: 1000
 
})
 
}
 
that.FilmStars(res.data.subjects);
 
that.setData({
 
globalLoading: false,
 
movieData: res.data.subjects,
 
BeingLoadedState: {
 
text: '没有更多数据',
 
show: true,
 
icon: false
 
}
 
});
 
} else {
 
wx.showToast({
 
title: Service.CodeCallback(res.statusCode),
 
icon: 'none'
 
})
 
}
 
},
 
fail: function (err){
 
wx.showToast({
 
title: "加载失败",
 
icon: 'none'
 
})
 
},
 
complete: function (con) {
 
wx.stopPullDownRefresh();
 
}
 
})
 
},
 
// 影片星星
 
FilmStars: function(subjects){
 
var that = this;
 
var images = that.data.FilmStars;
 
for(var i=0; i<subjects.length; i++){
 
images[i] = util.fiveStar_rating(subjects[i].rating.max,subjects[i].rating.min,subjects[i].rating.average)
 
}
 
that.setData({
 
FilmStars: images
 
});
 
}
 
 
 
})



最后一次编辑于  2018-06-08
回答关注问题邀请回答
收藏

4 个回答

  • 王一衡
    王一衡
    2018-09-03

    wx.startPullDownRefresh()这个方法是主动去调用onPullDownRefresh这个生命周期函数的方法,也就是在你不用下拉操作就可以完成下拉刷新的一个API。那么你这样写肯定是成为一个无限循环了的。

    2018-09-03
    有用
    回复
  • 招财💰
    招财💰
    2018-06-08

    问题代码片段     wechatide://minicode/RcbgccmU7ucZ

    只是在开发工具有这种情况,真机正常

    2018-06-08
    有用
    回复
  • 晚睡可以早起啊
    晚睡可以早起啊
    2018-06-07

    @小辣椒,iphone6s ios11.3.1,pulldown阈值太低了,轻轻一拉就会触发

    2018-06-07
    有用
    回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-05-25

    连续触发可以描述得详细点?是只在微信开发者工具上出现问题么?真机是否正常?

    麻烦给个相关的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    2018-05-25
    有用
    回复 6
    查看更多(1)
登录 后发表内容