收藏
回答

在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  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

10 个回答

  • 娇华
    娇华
    2018-05-25

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

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

    2018-05-25
    赞同
    回复 6
    • 吃不胖
      吃不胖
      2018-06-09

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

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


      2018-06-09
      赞同
      回复
    • 娇华
      娇华
      2018-06-10回复吃不胖

      建议更新开发者工具试试还有没有这个问题存在

      https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html

      2018-06-10
      赞同
      回复
    • 哈罗哈皮
      哈罗哈皮
      2018-06-15回复娇华

      开发工具最新的就是会无限触发下拉刷新,怎样回退一个开发工具,什么时候修复?

      2018-06-15
      赞同
      回复
    • 娇华
      娇华
      2018-06-19回复哈罗哈皮

      你好,请提供下开发者工具版本号,我这边使用你的代码片段没复现问题呀

      2018-06-19
      赞同
      回复
    • 哈罗哈皮
      哈罗哈皮
      2018-06-20回复娇华

      v1.2.1805181开发工具版本,一直会有刷新一直更新,使用这个

      wx.startPullDownRefresh();


      2018-06-20
      赞同
      回复
    查看更多(1)
  • 晚睡可以早起啊
    晚睡可以早起啊
    2018-06-07

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

    2018-06-07
    赞同
    回复
  • 吃不胖
    吃不胖
    2018-06-08

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

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

    2018-06-08
    赞同
    回复
  • 王一衡
    王一衡
    2018-09-03

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

    2018-09-03
    赞同
    回复