You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter单选按钮开发需求:点击选中后再次点击不取消选中

Flutter单选按钮点击选中后禁止取消选中的解决方案

你的问题出在onChanged的逻辑里——原来的代码会在点击已选中的单选按钮时,把selectCheckBox设为null,导致取消选中。要实现“一旦选中就不能取消”的效果,只需要修改这个逻辑:

直接移除取消选中的分支,点击单选按钮时不管当前状态,都把groupValue设置为该按钮的value即可。

修改后的代码如下:

Radio(
  value: StringConstant.radioDesc,
  groupValue: selectCheckBox,
  onChanged: (value) {
    setState(() {
      // 点击时直接赋值,保持选中状态无法取消
      selectCheckBox = value;
    });
  },
)

原理很简单:当单选按钮未选中时,点击会把selectCheckBox设为对应value,按钮变成选中状态;当已经选中时,再次点击依然会把selectCheckBox设为同一个value,groupValue和value仍然匹配,所以按钮保持选中,不会取消。

内容的提问来源于stack exchange,提问作者Naimish Patel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 00:29:55