修改圈子列表加载问题

This commit is contained in:
CYH 2023-07-04 18:15:13 +08:00
parent b2934d29a6
commit 6a7dc210ea
5 changed files with 626 additions and 510 deletions

View File

@ -1,6 +1,6 @@
class CircleState {
String msg = '';
int index = 1;
int index = 0;
CircleState() {
///Initialize variables
}

View File

@ -62,15 +62,17 @@ class _CirclePageState extends State<CirclePage>
controller.state.index = index;
if (index == logic.circle.lists.length - 1) {
logic.loadMore();
}
print(index.toString());
controller.update();
},
index: controller.state.index,
itemCount: logic.circle.lists.length,
viewportFraction: 0.93,
// scale: 0.9,
loop: false,
key: UniqueKey(),
// pagination: new SwiperPagination(),//
// control: new SwiperControl(),//
))

File diff suppressed because it is too large Load Diff

View File

@ -13,12 +13,11 @@ class ListLogic extends GetxController {
bool isLoad = true;
bool callOutMore = true;
var _circleId = '';
var circleId = '';
List<Lists> lists = [];
final ScrollController scrollController = ScrollController();
loadCallOutListData(String circleId) async {
_circleId = circleId;
loadCallOutListData() async {
var data = await DioManager.instance.get(
url: "/up-service/interest/$circleId/callouts",
params: {"page": callOutPage, "page_size": "20"});
@ -43,17 +42,22 @@ class ListLogic extends GetxController {
}
}
setCircleId(String id) {
circleId = id;
loadCallOutListData();
}
void refreshData() {
callOutPage = 1;
callOutMore = true;
loadCallOutListData(_circleId);
loadCallOutListData();
}
void loadMore() {
if (callOutMore == false) return;
loadCallOutListData(_circleId);
loadCallOutListData();
}
@ -100,18 +104,23 @@ class ListLogic extends GetxController {
void onInit() {
// TODO: implement onInit
super.onInit();
scrollController.addListener(() {
try {
if (scrollController.position.pixels == scrollController.position.maxScrollExtent) {
loadMore();
}
} catch (e) {
}
});
}
@override
void onReady() {
// TODO: implement onReady
super.onReady();
scrollController.addListener(() {
if (scrollController.position.pixels == scrollController.position.maxScrollExtent && callOutMore) {
loadMore();
}
});
}
@override
void onClose() {

View File

@ -54,12 +54,12 @@ class _My_circlePageState extends State<My_circlePage>
// Text(controller.state.msg),
//使
Expanded(
child: Swiper(
child: logic.circle.lists.isEmpty ? loaddingWidget(true) : Swiper(
itemBuilder: (BuildContext context, int index) {
var bean = logic.circle.lists[index];
return InfoListView(index, bean, controller);
},
index: logic.circle.lists.isNotEmpty ? 0 : controller.state.index,
index: controller.state.index,
itemCount: logic.circle.lists.length,
viewportFraction: 0.93,
// scale: 0.9,
@ -69,8 +69,8 @@ class _My_circlePageState extends State<My_circlePage>
if (index == logic.circle.lists.length - 1 && controller.isMore) {
logic.loadMore();
controller.update();
}
},
// pagination: new SwiperPagination(),//
// control: new SwiperControl(),//