Obx不工作- Flutter Getx包



模型字段的值正在改变,但是小部件没有更新。当我重新导航到屏幕时,小部件正在更新。我想更新两个小部件。当我使用GetBuilder()屏幕x更新,但尾随文本小部件没有。代码如下:

Getx控制器:

late Rx<TeamBetModel> displayModel = TeamBetModel().obs;
void setDMValues(TeamBetModel? tm) {
displayModel.value.t1Goals = tm!.t1Goals;
print('++ ${displayModel.value.t1Goals}');
}
屏幕x

Obx(
() => Text(
_savebetcontroller.displayModel.value.t1Goals ==
null
? '-'
: _savebetcontroller.displayModel.value.t1Goals
.toString(),
style: TextStyle(
fontSize: 90.0,
),
),
),
class BetItemWidget extends StatelessWidget {
//
BetItemWidget_Fields _betItemWidget_Fields = BetItemWidget_Fields();
//
BetBottomSheet _betBottomSheet = BetBottomSheet();
//
final _saveBetController = Get.find<SaveBetController>();
@override
Widget build(BuildContext context) {
List? trailStringList = [
// #1
_saveBetController.displayModel.value.t1Goals == null
? null
: _saveBetController.displayModel.value.t1Goals.toString(),
// #2
_saveBetController.displayModel.value.t1YellowCards == null
? null
: _saveBetController.displayModel.value.t1YellowCards.toString(),

];
return Container(
child: ListView.builder(
itemCount: _betItemWidget_Fields.statList.length,
itemBuilder: (context, index) {
return Card(
child: ListTile(
onTap: () {
_betBottomSheet.betBottomSheetFN(
title: _betItemWidget_Fields.statList[index],
index: index,
);
},
leading: Text(
_betItemWidget_Fields.statList[index],
style: TextStyle(
fontSize: 20.0,
fontWeight: FontWeight.bold,
),
),
// Want to update trailing too
trailing: Text(
trailStringList[index] == null ? '-' : trailStringList[index],
),
),
);
},
),
);
}
}

如何用Obx来包装您的尾随文本小部件:

trailing: Obx(() => Text(
trailStringList[index] == null ? '-' : trailStringList[index],
),
)

最新更新