felangel / felangel/flow_builder
Back button not visible
- 主要语言
- Dart
- 星标
- 416
- 派生
- 68
- PR 合并指标
- 30 天内没有已合并 PR
描述
**Describe the bug**
The back button is not visible for the first page, it's only visible for the second and up
**To Reproduce**
Steps to reproduce the behavior:
With this `Flow` widget you will see the issue:
```dart
class ServiceFlow extends StatefulWidget {
static const route = '/service_flow';
@override
_ServiceFlowState createState() => _ServiceFlowState();
}
class _ServiceFlowState extends State {
final _flowController = FlowController(const ServiceFlowState());
@override
Widget build(BuildContext context) {
return FlowBuilder(
controller: _flowController,
onGeneratePages: _onGenerateRoutes,
);
}
List _onGenerateRoutes(state, pages) {
return [
AppPage(
child: ServiceCategoryListPage(
onSelect: (category) {
_flowController.update((value) {
return value.copyWith(serviceCategoryId: 1);
});
},
),
),
if (state.serviceCategoryId != null)
AppPage(
child: ServiceListPage(
onSelect: (service) {
_flowController.complete((value) => value.copyWith(serviceId: 1));
},
),
),
];
}
@override
void dispose() {
super.dispose();
_flowController.dispose();
}
}
```
**Expected behavior**
The arrow button to be visible for wach flow state.
**Screenshots**
https://user-images.githubusercontent.com/20504726/108818386-925e8680-75b9-11eb-9c85-56f6d24373e6.mp4
**Logs **
Run `flutter analyze` and attach any output of that command below.
```
Analyzing foo...
info • Sort pub dependencies • pubspec.yaml:28:3 • sort_pub_dependencies
info • Sort pub dependencies • pubspec.yaml:39:3 • sort_pub_dependencies
2 issues found. (ran in 3.1s)
```
Paste the output of running `
flutter doctor -v` here.
```
[✓] Flutter (Channel beta, 1.26.0-17.6.pre, on Linux, locale pt_PT.UTF-8)
• Flutter version 1.26.0-17.6.pre at /home/eleandro/fvm/versions/beta
• Framework revision a29104a69b (7 days ago), 2021-02-16 09:26:56 -0800
• Engine revision 21fa8bb99e
• Dart version 2.12.0 (build 2.12.0-259.12.beta)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
• Android SDK at /home/eleandro/Android/Sdk
• Platform android-30, build-tools 30.0.3
• Java binary at: /snap/android-studio/current/android-studio/jre/bin/java
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
• All Android licenses accepted.
[✓] Android Studio
• Android Studio at /snap/android-studio/current/android-studio
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• android-studio-dir = /snap/android-studio/current/android-studio
• Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
[✓] IntelliJ IDEA Community Edition (version 2020.3)
• IntelliJ at /opt/Intellij
• Flutter plugin version 53.0.5
• Dart plugin version 203.6912
[✓] Connected device (1 available)
• SM G920V (mobile) • 05157df5e88ac22a • android-arm64 • Android 7.0 (API 24)
• No issues found!
```
Additional context:
Incredibly the same doesn't happen if we add another empty page before the others:
```dart
List _onGenerateRoutes(state, pages) {
return [
const AppPage(child: SizedBox.shrink()),
AppPage(
child: ServiceCategoryListPage(
onSelect: (category) {
_flowController.update((value) {
return value.copyWith(serviceCategoryId: 1);
});
},
),
),
if (state.serviceCategoryId != null)
AppPage(
child: ServiceListPage(
onSelect: (service) {
_flowController.complete((value) => value.copyWith(serviceId: 1));
},
),
),
];
}
}
```
I think the problem is with the code that checks the length of pages, I'm not sure.
贡献指南
这个仓库没有索引到贡献指南
评估
这个 Issue 还没有评估数据。