【问题标题】:Flutter-GetX; Update list in item of list颤振-GetX;更新列表项中的列表
【发布时间】:2022-01-22 14:01:15
【问题描述】:

我有一个问题,我有一个可以说的列表 (ListOne),每个项目都有一个可以说的列表 (ListTwo),当我在 ListOne 中输入一个项目时,ListView.builder/ListView.separated 对于 ListOne 它可以工作而当我在 ListTwo ListView.builder/ListView.separated 中为 ListTwo 输入一个项目时,它不起作用,我尝试使用 Obx 小部件,但它不起作用

这是我的LisView ListOne

ListView.separated(
    itemBuilder: (context, index) {
         var _listOneItem = controller.listOne.elementAt(index);
         return ListOneItemWidget(item: __listOneItem);
    },
    separatorBuilder: (context, index) => SizedBox(height: 10.0),
    itemCount: controller.listOne.length,
),

这是我的ListView ListTwo

ListView.builder(
    itemBuilder: (context, index) {
        var _listTwoItem = listOneItem.ListTwo.elementAt(index);
        return ListTwoItemWidget(item: _listTwoItem);
    },
    itemCount: listOneItem.ListTwo.length,
    shrinkWrap: true,
    physics: NeverScrollableScrollPhysics(),
),

【问题讨论】:

    标签: android flutter dart listview flutter-getx


    【解决方案1】:

    如果您使用的是 GetX 库,则使用 Obx() 小部件包装 ListView.builder()/ListView.separated() 并尝试使用 @987654322 @ 和 listTwo 作为 Observable 字段,您将在 Obx() 方法中使用它们。确保在 Obx() 的第一级使用中使用 Observable 字段,而不是在嵌套的子小部件中使用。

    例如: 正确的用法是 -

    import 'package:get/get.dart';
    
    
    List<dynamic> listOne = List.empty(growable : true).obs;
    Obx(()
    {
      var list = listOne.toList(growable:true);
      return ListView.builder();
    }
    );
    

    【讨论】:

      猜你喜欢
      • 2021-12-11
      • 1970-01-01
      • 2020-04-19
      • 2021-11-19
      • 2023-01-18
      • 2020-05-25
      • 2020-06-03
      • 1970-01-01
      • 2022-01-05
      相关资源
      最近更新 更多