首页 > 解决方案 > 在小部件定义中插入 if-else 语句

问题描述

我在 Flutter 应用程序的一个类中插入了一个 TableCalendar 小部件。

child: TableCalendar(
              calendarController: _calendarController,
              locale: 'es_ES',
              calendarStyle: CalendarStyle(
                todayColor: AppColors.naranjaCapenergy,
                selectedColor: AppColors.azulCapenergy,
                todayStyle: TextStyle(
                  fontWeight: FontWeight.bold,
                )
              ),
            ),

我正在使用程序包 easy_localization 在应用程序中工作,以让用户选择所需的 UI 语言。

我已经包括了语言英语(en_EN)和西班牙语(es_ES)。

我发现获取当前语言环境的方法如下:

print("current locale " + context.locale.toString());

在 TableCalendar 定义中,我想更改参数 locale: 取决于当前的语言环境。我尝试插入 if - else 语句来更改语言环境参数,但在编辑器中出现错误。

根据当前语言环境的值更改 TableCalendar 定义中的语言环境参数的推荐方法是什么?

标签: flutter

解决方案


我已经解决了它只是插入当前的语言环境值,而不需要使用 if-else 语句:

TableCalendar(
...
locale: context.locale.toString(),
...
)

推荐阅读