4

私が作成したカスタム Switch ウィジェットを呼び出す親ウィジェットがあります。親ウィジェットのスイッチの値 (オンかオフか) が必要です。スイッチ ウィジェットで、その値を返すコントローラーを作成できますか?

現在、スイッチウィジェットのスイッチの値に基づいて、親ウィジェットにあるブール値を変更する親ウィジェットから関数を渡しています。

親ウィジェット:

bool isSwitchOn = false;
Switch(onSwitchToggle: (bool val) {
                      isSwitchOn = val;
                  })

カスタム スイッチ ウィジェット:

class Switch extends StatefulWidget {
 Widget build(BuildContext context) {
    return CupertinoSwitch(
        value: widget.value,
        onChanged: (bool value) {
          setState(() {
            widget.value = value;
          });
          widget.onSwitchToggle(value);
        },
),
}

スイッチウィジェットは、スイッチが必要なときはいつでもコードのどこでも使用され、スイッチの状態を知る必要がない場合もあり、スイッチが切り替えられたときに関数を実行する必要があるだけですが、コードを書いた方法、スイッチを呼び出すたびに、どこでも bool を渡す必要があります。それを行うためのより良い方法を探しています。例: Bool val は必要ないので不要です。

Switch(onSwitchToggle: (bool val) {
                     print('abc')
                 })
4

1 に答える 1