在home.dart我呼叫一個高架按鈕內的導航功能
onPressed: (){
Navigator.of(context).push(
MaterialPageRoute(
builder: (context)=>{
return const GameScreen();
}
));
},
這將導航到 GameScreen。
game_screen.dart
import 'package:flutter/material.dart';
class GameScreen extends StatelessWidget {
const GameScreen({ Key? key }) : super(key: key);
@override
Widget build(BuildContext context) {
return const Scaffold(backgroundColor: Colors.white,);
}
}
但是我在導航功能下看到紅色波浪線說
The return type "Set<GameScreen>" isn't a "Widget", as required by the closure's context.
為什么這會給我一個錯誤,我該如何解決這個問題?
uj5u.com熱心網友回復:
那么你回來了 Set<Widget>
問題在于您如何使用箭頭運算子=>,您不能{}將return關鍵字與箭頭運算子一起使用。
該=>運營商已經像一個return。在您的情況下,{}它被解釋為 Set 文字。
試試這個:
MaterialPageRoute(
builder: (context) => const GameScreen();
));
或這個:
MaterialPageRoute(
builder: (context) {
return const GameScreen();
}
));
uj5u.com熱心網友回復:
我想你混淆打字稿,該方法的語法是不是() => {...},這將回傳Set的...
改為這樣做() {...}(運行...):
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) {
return const GameScreen();
}
));
},
或者這個() => ...(回傳...):
onPressed: () {
Navigator.of(context).push(
MaterialPageRoute(
builder: (context) => const GameScreen(),
));
},
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/342577.html
標籤:扑
