首页 > 解决方案 > 如何在 Flutter CheckboxListTile 中设置 HTML 等值?

问题描述

在 HTML 中,复选框具有名称、值和标签:

<input type="checkbox" id="fruit" name="fruits" value="small_apple"><label for="fruit">Small Apple</label>
<input type="checkbox" id="fruit" name="fruits" value="big_apple"><label for="fruit">Big Apple</label>

如果两者都被选中,一旦提交,我将得到一个名为 fruits 的数组,其中包含“small_apple”和“big_apple”。

Flutter CheckboxListTile 有一个出现在屏幕上的标题:

CheckboxListTile(
    title: Text("Small Apple"),
    value: value,
    onChanged: (bool value) { ... },
)

我不需要在提交时发送“小苹果”,而是“小苹果”。Flutter 中的“值”仅保持复选框状态(true/false),那么如何在 Flutter 中设置“值”,如 HTML 呢?还是我必须在提交之前将“小苹果”转换为“小苹果”?

标签: flutter

解决方案


好吧,您可以声明一个字符串String stringValue;并在 onChanged 回调中为每个复选框设置所需的值例如对于 small_apple 复选框,只需添加

onChanged:(ischecked){
stringValue = "small_apple" ;
value= ischecked;
}

然后对另一个复选框执行相同的操作,现在您必须在 OnChanged和调用 setState中设置复选框值,以便复选框的 UI 状态发生变化


推荐阅读