🐙

【Flutter】childrenを条件分岐でかき分ける

2023/01/13に公開
Column(
    children: [
        if (_selectedIndex == 0) ...[
          DayScreen(),
        ] else if(_selectedIndex == 1)...[
          StatsScreen(),
        ],
    ],
 ),
Column(
    children: [
        if (_selectedIndex == 0) ...[
          DayScreen(),
          AboutScreen(),
          InfoScreen(),
        ] else if(_selectedIndex == 1)...[
          HomeScreen(),
          StatsScreen(),
        ],
    ],
 ),

3項演算子を使ってこのように書きたい場合はこう!

Column(
    children: [
        ...(_selectedIndex == 0) ? [
          DayScreen(),
          AboutScreen(),
          InfoScreen(),
        ] : [
          HomeScreen(),
          StatsScreen(),
        ],
    ],
 ),

React でいう、 Flagment がないシーンでは、Listでラップしていくとよろしいのかもしれない。

引用元

https://stackoverflow.com/a/60584979

Discussion