Flutter.GetX已检测到GetX的不正确使用,与RxList

4dbbbstv  于 2023-01-14  发布在  Flutter
关注(0)|答案(1)|浏览(256)
RxList<ParticipantModel> participantList = RxList.empty();
........
 Obx(  <==== [Get] the improper use of a GetX has been detected.  with the RxList
              () => NCChipEditableList<ParticipantModel>(
                key: const Key('StudioEditPage txt_add_main_actors'),
                title: 'txt_add_main_actors'.tr.format(
                  [MediaConst.maxArtistTagLength],
                ),
                addButtonText: 'txt_add_actor'.tr,
                chipList: controller.media.participantList,
                maxTextLength: MediaConst.maxArtistTagLength,
                onAddChip: controller.onAddParticipant,
                onDeleteChip: controller.onDeleteParticipant,
                onEditedChip: controller.onEditedParticipant,
              ),
            ),

实际上,我不知道如何解决这个问题,我使用initiated RxList作为参数NCChipEditableList

6pp0gazn

6pp0gazn1#

Obx在内部使用Rx<T>可观测变量时会更新,因此应按如下方式使用:

// controller
Rx<String> txt = "text".obs;

// view
Obx(() => Text(txt.value)), // works fine

如果在其中未使用Rx<R>变量:

// view
Obx(() => Text("normal raw text")), // throws the error

然后,Getx库将抛出您的错误,通知您由于Obx中没有要更新的内容,因此不需要使用它。
如果你不需要的话,你应该直接设置你的widget,而不用用Obx Package 。

相关问题