Flutterのラジオボタンを使っていて、微妙にわかりにくいなと思った部分があるので共有します。
公開ステータスを設定するためのラジオボタンを作りたいと仮定します。
enum Status {
open,
hidden,
notSelected,
}
上記のようなenumでStatusを定義して、Radioのそれぞれのコンストラクタの意味合いを解説しますと
// enumでもintでもStringでも可。後述のvalueやgroupValueの型を決定する
Radio<Status>(
// 選択されたときのonChangedに吐き出される値
value: Status.open,
// groupValueと上記のvalueが一致していた場合に、ラジオボタンは選択済みの表示になる
groupValue: status,
onChanged: (value) {
// 選択時にStatus.openがvalueとして吐き出される
}
)
上記のような使い方ができました。
初期値としてstatus = Status.notSelected
を指定しておけば、ラジオボタンを未選択な状態にできますし、デフォルトで公開にしておきたければstatsu = Status.open
と指定しておくことで実現できます。