限制所选复选框的数量

时间:2018-10-23 06:33:42

标签: dart flutter

我有多个复选框..您可以在其中选择多个复选框...就像这样:

for (var a in user.poll.questions[i].options) {
          children.add(
            new Row(
              children: [
                new Checkbox(
                    value: questionList.contains(a.id),
                    onChanged: (bool newValue) {
                      setState(() {
                        //if (questionList.length < user.poll.questions[i].maxChoice){
                        newValue
                            ? questionList.add(a.id)
                            : questionList.remove(a.id);
                        //}
                      });
                      answers[user.poll.questions[i].id] = questionList;
                    }),
                new Text(
                  a.text,
                  style: TextStyle(fontSize: 16.0),
                ),
              ],
            ),
          );
        }

但是我想限制复选框的数量..正在从json获取最大选择数..如何通过它来限制复选框的选择?

例如,如果

  

int maxChoices = 3;

我如何让用户最多选择3个复选框?

1 个答案:

答案 0 :(得分:1)

您不想这样做吗?

(newValue && questionList.length >= maxChoices)
    ? showAlert() : setState(() {
        newValue
            ? questionList.add(a.id)
            : questionList.remove(a.id);
         });