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