У меня есть родительский виджет, который вызывает пользовательский виджет 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')
})