簡體   English   中英

在小部件中使用可選參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM