Flutter 如何将 Getx & Obx 应用于 ToggleButtons Widget
Flutter How to apply Getx & Obx to ToggleButtons Widget
我需要将 ToggleButtons 小部件与 getx 一起使用。
但我找不到任何关于 ToggleButtons 和 getx 的参考资料。
我尽力了,但我只收到如下所述的错误消息。
我的问题是 如何将 ToggleButtons 小部件与 Getx 一起使用?
- 我的代码在调试模式下工作正常,但我在发布/配置文件模式下收到错误消息(即使它不包括扩展小部件)
谢谢。
HomePage
import 'package:mofu_flutter/src/controller/shelf_life_controller.dart';
class HomePage extends StatelessWidget {
final shelfLifeController = Get.put(ShelfLifeController(), permanent: false);
@override
Widget build(BuildContext context) {
return Container(
child: SafeArea(
bottom: false,
child: Scaffold(
.....
body:SingleChildScrollView(
.....
child: Container(
.....
child: Column(
.....
Container(
.....
Column(
.....
.....
Obx(()=>ToggleButtons(
....
onPressed: (int index) {
shelfLifeController.changeTabIndex(index);
} isSelected: shelfLifeController.isSelected)
Controller
进口'package:get/get.dart';
class ShelfLifeController extends GetxController {
RxList<bool> isSelected = [false, true, false].obs;
void changeTabIndex(int index) {
RxInt tabIndex = 0.obs;
tabIndex.value = index;
for(int buttonIndex = 0; buttonIndex < isSelected.length; buttonIndex++){
if(buttonIndex == index){
isSelected[buttonIndex] = true;
} else {
isSelected[buttonIndex] = false;
}
}
}
@override
void onInit() {
super.onInit();
}
@override
void dispose() {
super.dispose();
}
}
Error Message
Error Screen
我没有在控制器的末尾添加 update(),而且 shelfLifeController.isSelected 已更改为 shelfLifeController.isSelected.toList()。之后,一切正常。 :)
我需要将 ToggleButtons 小部件与 getx 一起使用。
但我找不到任何关于 ToggleButtons 和 getx 的参考资料。
我尽力了,但我只收到如下所述的错误消息。
我的问题是 如何将 ToggleButtons 小部件与 Getx 一起使用?
- 我的代码在调试模式下工作正常,但我在发布/配置文件模式下收到错误消息(即使它不包括扩展小部件)
谢谢。
HomePage
import 'package:mofu_flutter/src/controller/shelf_life_controller.dart';
class HomePage extends StatelessWidget {
final shelfLifeController = Get.put(ShelfLifeController(), permanent: false);
@override
Widget build(BuildContext context) {
return Container(
child: SafeArea(
bottom: false,
child: Scaffold(
.....
body:SingleChildScrollView(
.....
child: Container(
.....
child: Column(
.....
Container(
.....
Column(
.....
.....
Obx(()=>ToggleButtons(
....
onPressed: (int index) {
shelfLifeController.changeTabIndex(index);
} isSelected: shelfLifeController.isSelected)
Controller
进口'package:get/get.dart';
class ShelfLifeController extends GetxController {
RxList<bool> isSelected = [false, true, false].obs;
void changeTabIndex(int index) {
RxInt tabIndex = 0.obs;
tabIndex.value = index;
for(int buttonIndex = 0; buttonIndex < isSelected.length; buttonIndex++){
if(buttonIndex == index){
isSelected[buttonIndex] = true;
} else {
isSelected[buttonIndex] = false;
}
}
}
@override
void onInit() {
super.onInit();
}
@override
void dispose() {
super.dispose();
}
}
Error Message
Error Screen
我没有在控制器的末尾添加 update(),而且 shelfLifeController.isSelected 已更改为 shelfLifeController.isSelected.toList()。之后,一切正常。 :)