簡體   English   中英

Obx 不工作 - Flutter Getx package

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM