【发布时间】:2020-10-08 17:47:47
【问题描述】:
在您投反对票之前,请阅读完整的问题。
我收到此错误我知道此错误背后的原因,原因是在选择登录屏幕时从树中删除了 userDetails 小部件。问题是我如何将该小部件重新插入 Tree。我已经尝试了 StackOverflow 和 GitHub 上的每一个解决方案,但没有一个解决方案适合我。我尝试在脚手架中使用 new 关键字和全局键。
Main.dart
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
SharedPreferences prefs = await SharedPreferences.getInstance();
var userPhoneNumber = prefs.getString('phoneNumber');
var userAlternateNumber = prefs.getString('AlternateNumber');
print(userPhoneNumber);
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp])
.then((_) {
runApp(
MaterialApp(
theme: ThemeData(
textSelectionHandleColor: kOrangeColor, cursorColor: kOrangeColor),
home: userPhoneNumber == null
? new LoginScreen()
: (userAlternateNumber == null
? new UserDetails()
: new HomeScreen()),
),
);
});
}
LoginScreen.dart 中的函数
void pushToUserDetailsScreen(BuildContext context) async {
Navigator.push(
context, MaterialPageRoute(builder: (context) => new UserDetails()));
}
【问题讨论】:
标签: flutter navigation widget reusability