[英]Obx is not working - Flutter Getx package
model 字段的值正在更改,但小部件未更新。 當我重新導航到屏幕時,小部件正在更新。 我想更新兩個小部件。 當我使用 GetBuilder() Screen x 更新但尾隨的 Text 小部件沒有時。 代碼如下。
獲取 Controller:
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],
),
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.