修复我的小区每次点击相同的公告tab就会添加一条数据的bug
This commit is contained in:
parent
68b309bb6b
commit
b1f9dc134d
@ -501,7 +501,6 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
async selectTab(index, item) {
|
async selectTab(index, item) {
|
||||||
console.log("🚀 ~ selectTab ~ item:", item)
|
|
||||||
const isTabChange = this.selectedTab !== index;
|
const isTabChange = this.selectedTab !== index;
|
||||||
if (isTabChange) {
|
if (isTabChange) {
|
||||||
this.page_num = 1;
|
this.page_num = 1;
|
||||||
@ -509,6 +508,12 @@ export default {
|
|||||||
// this.loadMoreText = "下拉加载后续10条,共计30条";
|
// this.loadMoreText = "下拉加载后续10条,共计30条";
|
||||||
}
|
}
|
||||||
this.selectedTab = index;
|
this.selectedTab = index;
|
||||||
|
|
||||||
|
// 如果不是切换tab,且已经没有更多数据,且已有数据,则不发送请求
|
||||||
|
if (!isTabChange && !this.flag && this.infoList.length > 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const res = await request(apiArr.infoPage, "POST", {
|
const res = await request(apiArr.infoPage, "POST", {
|
||||||
community_id: Number(uni.getStorageSync("changeCommData").id),
|
community_id: Number(uni.getStorageSync("changeCommData").id),
|
||||||
announcement_category_id: item.id,
|
announcement_category_id: item.id,
|
||||||
@ -529,10 +534,14 @@ export default {
|
|||||||
// 限制最多3页
|
// 限制最多3页
|
||||||
this.flag = hasMore;
|
this.flag = hasMore;
|
||||||
|
|
||||||
|
// 检查数据是否重复
|
||||||
|
const isDataDuplicate = !isTabChange && this.infoList.length > 0 && newData.length > 0 &&
|
||||||
|
this.infoList[this.infoList.length - 1].id === newData[0].id;
|
||||||
|
|
||||||
// 更新数据
|
// 更新数据
|
||||||
if (isTabChange) {
|
if (isTabChange) {
|
||||||
this.infoList = newData;
|
this.infoList = newData;
|
||||||
} else {
|
} else if (!isDataDuplicate) {
|
||||||
this.infoList = this.infoList.concat(newData);
|
this.infoList = this.infoList.concat(newData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user