修改圈子列表加载同一个bug
This commit is contained in:
parent
18b1468db4
commit
b2934d29a6
@ -108,9 +108,15 @@ class ListLogic extends GetxController {
|
|||||||
// TODO: implement onReady
|
// TODO: implement onReady
|
||||||
super.onReady();
|
super.onReady();
|
||||||
scrollController.addListener(() {
|
scrollController.addListener(() {
|
||||||
if (scrollController.position.pixels == scrollController.position.maxScrollExtent && lists.isNotEmpty) {
|
if (scrollController.position.pixels == scrollController.position.maxScrollExtent && callOutMore) {
|
||||||
loadMore();
|
loadMore();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@override
|
||||||
|
void onClose() {
|
||||||
|
// TODO: implement onClose
|
||||||
|
super.onClose();
|
||||||
|
scrollController.dispose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@ -14,25 +14,36 @@ class MyCircleLogic extends GetxController {
|
|||||||
final CircleState state = CircleState();
|
final CircleState state = CircleState();
|
||||||
int page = 1;
|
int page = 1;
|
||||||
|
|
||||||
|
bool isMore = true;
|
||||||
|
|
||||||
@override
|
@override
|
||||||
void onInit() async {
|
void onInit() async {
|
||||||
super.onInit();
|
super.onInit();
|
||||||
var data = await DioManager.instance
|
var data = await DioManager.instance
|
||||||
.get(url: Api.getMyCircleInterests, params: {"page": page});
|
.get(url: Api.getMyCircleInterests, params: {"page": page,'page_size':20});
|
||||||
|
|
||||||
var bean = BaseResponse<InterestsBean>.fromJson(
|
var bean = BaseResponse<InterestsBean>.fromJson(
|
||||||
data, (data) => InterestsBean.fromJson(data));
|
data, (data) => InterestsBean.fromJson(data));
|
||||||
|
|
||||||
circle = bean.data!;
|
circle = bean.data!;
|
||||||
|
if (circle.lists.length < 20) {
|
||||||
|
isMore = false;
|
||||||
|
}
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
loadMore() async {
|
loadMore() async {
|
||||||
page = page++;
|
page = page++;
|
||||||
var data = await DioManager.instance
|
var data = await DioManager.instance
|
||||||
.get(url: Api.getMyCircleInterests, params: {"page": page});
|
.get(url: Api.getMyCircleInterests, params: {"page": page,'page_size':20});
|
||||||
var bean = BaseResponse<InterestsBean>.fromJson(
|
var bean = BaseResponse<InterestsBean>.fromJson(
|
||||||
data, (data) => InterestsBean.fromJson(data));
|
data, (data) => InterestsBean.fromJson(data));
|
||||||
circle = bean.data!;
|
|
||||||
|
circle.lists.addAll(bean.data!);
|
||||||
|
|
||||||
|
if (circle.lists.length < 20 * page) {
|
||||||
|
isMore = false;
|
||||||
|
}
|
||||||
update();
|
update();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -50,14 +50,14 @@ class _My_circlePageState extends State<My_circlePage>
|
|||||||
width: MediaQuery.of(context).size.width,
|
width: MediaQuery.of(context).size.width,
|
||||||
height: MediaQuery.of(context).size.height,
|
height: MediaQuery.of(context).size.height,
|
||||||
child: Column(children: [
|
child: Column(children: [
|
||||||
Get.arguments == null ? navigatorItem() : backNavigatorItem(),
|
backNavigatorItem(),
|
||||||
// Text(controller.state.msg),
|
// Text(controller.state.msg),
|
||||||
//组件使用
|
//组件使用
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Swiper(
|
child: Swiper(
|
||||||
itemBuilder: (BuildContext context, int index) {
|
itemBuilder: (BuildContext context, int index) {
|
||||||
var bean = logic.circle.lists[index];
|
var bean = logic.circle.lists[index];
|
||||||
return InfoListView(index, bean, logic);
|
return InfoListView(index, bean, controller);
|
||||||
},
|
},
|
||||||
index: logic.circle.lists.isNotEmpty ? 0 : controller.state.index,
|
index: logic.circle.lists.isNotEmpty ? 0 : controller.state.index,
|
||||||
itemCount: logic.circle.lists.length,
|
itemCount: logic.circle.lists.length,
|
||||||
@ -66,7 +66,7 @@ class _My_circlePageState extends State<My_circlePage>
|
|||||||
loop: false,
|
loop: false,
|
||||||
onIndexChanged: (index) {
|
onIndexChanged: (index) {
|
||||||
controller.state.index = index;
|
controller.state.index = index;
|
||||||
if (index == logic.circle.lists.length - 1) {
|
if (index == logic.circle.lists.length - 1 && controller.isMore) {
|
||||||
|
|
||||||
logic.loadMore();
|
logic.loadMore();
|
||||||
controller.update();
|
controller.update();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user