import 'package:flutter/material.dart'; import 'package:get/get.dart'; import '../../../data/services/db/sqflite_api.dart'; class MeetingController extends GetxController { final ScrollController listController = ScrollController(); // 是否还有更多数据 bool isLoadingMore = true; int page = 1; TextEditingController titleController = TextEditingController(); // 录音标题 RxList dataList = [].obs; @override void onInit() { super.onInit(); listController.addListener(_onScroll); _getDataList(); } @override void onClose() { listController.dispose(); titleController.dispose(); super.onClose(); } void _onScroll() { if (isLoadingMore && listController.position.pixels >= listController.position.maxScrollExtent - 100) { page++; _getDataList(); } } // 请求本地数据 void _getDataList() async { List list = await SqfliteApi.getMeetingList(page); dataList.addAll(list); if (list.length < 10) { isLoadingMore = false; } else { isLoadingMore = true; } } }