我有一个listView和一个提交表单。当从服务器接收数据时,如果列表为空,则必须显示该表单,否则将显示listView。我的屏幕:
Scaffold(
body:Column(
children: [
AddBlockItem<T>()
ProjectBlockList<T>(),
],
);
);
AddBlockItem是我的提交表单,ProjectBlockList是我的listView。
我的控制器:
class AddProjectBlockController extends ModifyProjectBlockController {
final AddProjectBlockRepository _repository = AddProjectBlockRepository();
@override
void onInit() {
super.onInit();
getProjectBlocks();
}
}
@override
Future<void> getProjectBlocks() async {
final resultOrException =
await _repository.getBlocksByProjectId(_addProjectController.projectId);
return resultOrException.fold(
(final exception) => projectBlockList.showError(true),
(final result) {
projectBlockList.key.currentState?.addAll(result.elements);
if (result.elements.length < 15) {
projectBlockList.hasMoreData.value = false;
} else {
projectBlockList.offset++;
}
},
);
}
ModifyProjectBlockController扩展了GetxController。
请参阅此代码。getx_controller_example当没有找到数据时,我显示了一个图像,否则我显示了列表视图。