页面默认加载时,加载全部数据。 查询按钮点击时,将过滤条件传到参数,进行查询。 但是快速点击很多次查询,查询来的数据就会重复很多次。
正产点击一下查询,查出来的数据是没问题的。
mounted() {
this.load();
},
methods: {
//延迟0.6秒执行一次查询方法
onInfinite() {
setTimeout(() => {
this.myRisk();
},1500);
},
// 按风险级别和风险查询当前登录人的风险
search() {
this.currentPage = 1;
this.riskLists = [];
this.$refs.infiniteLoading.$emit("$InfiniteLoading:reset");
this.myRisk();
},
// 查询登录人的所有风险,每次查询10条
myRisk() {
var that = this;
var param = {
page:that.currentPage,
fxjb:that.riskLevel,
fx:that.riskName
}
console.log(param);
var url = Vue.__ctx + "/aqsk/aqRiskIdentify/selectRiskByUserOrJob";
var post = Vue.baseService.post(url, param);
post.then(function (data) {
if (data.isOk === false) {
that.$refs.infiniteLoading.$emit("$InfiniteLoading:complete");
return;
}
if (!data.rows.length) {
that.$refs.infiniteLoading.$emit("$InfiniteLoading:complete");
return;
}
that.currentData = data.rows;
that.currentPage = that.currentPage + 1;
console.log(that.currentPage);
that.riskLists = that.riskLists.concat(that.currentData);
that.$refs.infiniteLoading.$emit("$InfiniteLoading:loaded");
});
},
// 页面每次加载时,设置当前页为1,风险数据重置成空数组,设置infiniteLoading为重置
load() {
this.currentPage = 1;
this.riskLists = [];
this.$refs.infiniteLoading.$emit("$InfiniteLoading:reset");
this.myRisk();
},
},
// 注册InfiniteLoading组件
components: {
InfiniteLoading,
},