可以模拟实现。你需要:隐藏 Radio 控件本身: 可能通过设置 .width(0).height(0).opacity(0) 或将其放在一个尺寸为 0 的容器里。使用 Text 或其他组件作为视觉呈现: 创建你想要的视觉样式(比如一个带背景色的文本块)。将 Text 或其容器设为可点击: 绑定 onClick 事件。在 onClick 中更新 @State 变量: 手动更新存储选中项 value 的状态变量。根据状态改变视觉样式: 在 build 方法中,根据当前 @State 变量的值是否等于该项的 value,来动态改变 Text 或其容器的样式(如背景色、边框、字体粗细)。
可以模拟实现。你需要:
Radio
控件本身: 可能通过设置.width(0).height(0).opacity(0)
或将其放在一个尺寸为 0 的容器里。Text
或其他组件作为视觉呈现: 创建你想要的视觉样式(比如一个带背景色的文本块)。Text
或其容器设为可点击: 绑定onClick
事件。onClick
中更新@State
变量: 手动更新存储选中项value
的状态变量。build
方法中,根据当前@State
变量的值是否等于该项的value
,来动态改变Text
或其容器的样式(如背景色、边框、字体粗细)。