如何使用Getx只显示两个小部件中的一个



我有一个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当没有找到数据时,我显示了一个图像,否则我显示了列表视图。

相关内容

最新更新