flutter에서 조건부 렌더링을 수행하려면 다음을 수행 할 수 있습니다.
Column(
children: <Widget>[
if (isCondition == true)
Text('The condition is true'),
],
);
그러나 3 차 (if-else) 조건을 사용하려면 어떻게해야합니까? 하위 위젯이 다중 계층 일 때.
조건부 렌더링을 향상시키고 if-else 및 스위치 조건을 지원하는 flutter 패키지를 flutter_conditional_rendering 솔루션에 사용할 수 있습니다 .
If-Else 조건 :
Column(
children: <Widget>[
Conditional.single(
context: context,
conditionBuilder: (BuildContext context) => someCondition == true,
widgetBuilder: (BuildContext context) => Text('The condition is true!'),
fallbackBuilder: (BuildContext context) => Text('The condition is false!'),
),
],
);
스위치 조건 :
Column(
children: <Widget>[
ConditionalSwitch.single<String>(
context: context,
valueBuilder: (BuildContext context) => 'A',
caseBuilders: {
'A': (BuildContext context) => Text('The value is A!'),
'B': (BuildContext context) => Text('The value is B!'),
},
fallbackBuilder: (BuildContext context) => Text('None of the cases matched!'),
),
],
);
(List<Widget>)
단일 위젯 대신 조건부로 위젯 목록을 렌더링하려는 경우 . 사용 Conditional.list()
및ConditionalSwitch.list()!