[英]Using optional parameter in widget
我可以選擇獲取一個小部件的變量,我想使用它。
class MainPage extends StatefulWidget {
final String? uyeId;
MainPage({
Key? key,
this.uyeId,
}) : super(key: key);
@override
State<MainPage> createState() => _MainPageState();
}
class _MainPageState extends State<MainPage> {
int pageIndex = 0;
List<Widget> pageList = <Widget>[
Anasayfa(uyeId: widget.uyeId),
Mesajlar(),
Mesajlar(),
Bildirimler(
uyeId: "1999",
),
Hesabim()
];
@override
Widget build(BuildContext context) {
return MaterialApp(
錯誤是無法在初始化程序中訪問實例成員“小部件”。 嘗試用不同的表達式替換對實例成員的引用。 我如何使用該參數?
您可以像這樣將值傳遞給 initState 中的變量:
late List<Widget> pageList;
初始化狀態:
@override
void initState() {
pageList = <Widget>[
Anasayfa(uyeId: widget.uyeId),
Mesajlar(),
Mesajlar(),
Bildirimler(
uyeId: "1999",
),
Hesabim()];
super.initState();
}
你可以試試這個:
首先創建一個list
類型的變量:
List<Widget> pageList = []
第二個創建方法initState
:
void initState(){
super.initState();
}
然后您可以創建一個 function 用數據填充列表:
void fillingList(){
pageList = [
Anasayfa(uyeId: widget.uyeId),
Mesajlar(),
Mesajlar(),
Bildirimler(
uyeId: "1999",
),
Hesabim()
];
}
最后,您可以在方法 initState 中調用 function:
void initState(){
super.initState();
fillingList();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.