flutter - 我如何获取要在其他功能中使用的复选框值?

标签 flutter dart

我有一个显示复选框的小部件。复选框显示星期几。
我想知道如何在其他函数中使用以下值?
例如,如何在另一个功能中知道用户在一周的工作日中选择了什么?

这是我的复选框小部件代码:

  bool monVal = false;
  bool tuVal = false;
  bool wedVal = false;
  bool thurVal = false;
  bool friVal = false;
  bool satVal = false;
  bool sunVal = false;

  Widget checkbox(String title, bool boolValue) {
    return Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        Text(title),
        Checkbox(
          value: boolValue,
          onChanged: (bool value) {
            /// manage the state of each value
            setState(() {
              switch (title)
              {
                case "Mon":
                  monVal = value;
                  print(value);
                  break;
                case "Tu":
                  tuVal = value;
                  print(value);
                  break;
                case "Wed":
                  wedVal = value;
                  print(value);

                  break;
                case "Thur":
                  thurVal = value;
                  print(value);

                  break;
                case "Fri":
                  friVal = value;
                  print(value);

                  break;
                case "Sat":
                  satVal = value;
                  print(value);

                  break;
                case "Sun":
                  sunVal = value;
                  print(value);

                  break;
              }
            });
          },
        )
      ],
    );
  }

print(value)是没有意义的。.我只是尝试看看是否可以选择星期几,但它只会返回true或false。

这是我用来显示复选框的代码。
                  child: Center(
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.center,
                      children: <Widget>[
                        Row(
                          mainAxisAlignment: MainAxisAlignment.center,
                          children: <Widget>[
                            checkbox("Mon", monVal),
                            checkbox("Tu", tuVal),
                            checkbox("Wed", wedVal),
                            checkbox("Thur", thurVal),
                            checkbox("Fri", friVal),
                            checkbox("Sat", satVal),
                            checkbox("Sun", sunVal),

                          ],
                        ),
                      ],
                    ),
                  )

最佳答案

屏幕截图:

enter image description here

回答您编辑过的帖子:

static String sun = "Sun";
static String mon = "Mon";
static String tue = "Tue";
static String wed = "Wed";

Map<String, bool> days = {
  sun: false,
  mon: false,
  tue: false,
  wed: false,
}; // global variable

@override
Widget build(BuildContext context) {
  return Scaffold(
    appBar: AppBar(),
    body: Column(
      children: <Widget>[
        checkbox(sun, days[sun]),
        checkbox(mon, days[mon]),
        checkbox(tue, days[tue]),
        checkbox(wed, days[wed]),
      ],
    ),
  );
}

Widget checkbox(String title, bool boolValue) {
  return Column(
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      Text(title),
      Checkbox(
        value: boolValue,
        onChanged: (value) => setState(() => days[title] = value),
      )
    ],
  );
}

关于flutter - 我如何获取要在其他功能中使用的复选框值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58139062/

相关文章:

dart - 如何在 Bloc 模式中使用 SharedPreferences?

dart - Dart 中的全局变量

flutter - Hive Flutter,如何以相反的键顺序获取值

flutter - 如何使用 customPaint 添加图像作为背景?

flutter - 如何在 flutter 中从该列表中导入文本

javascript - 将 Canvas 元素绑定(bind)到新元素

firebase - 方法 'setData' 没有为类型 'documentreference' 定义

flutter - RadioListTile onchange 值是对象?类型

dart - fontFamily 属性在 flutter 中无法正常工作

flutter - 如何在 flutter 中更改光标颜色