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
相关产品推荐
相关产品推荐

