颤振-GetX;更新列表项中的列表
Flutter-GetX; Update list in item of list
我有问题,我有一个列表(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(),
),
如果您正在使用 GetX 库,则将 ListView.builder()/ListView.separated() 包装为 Obx () 小部件并尝试将 listOne
和 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();
}
);
我有问题,我有一个列表(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(),
),
如果您正在使用 GetX 库,则将 ListView.builder()/ListView.separated() 包装为 Obx () 小部件并尝试将 listOne
和 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();
}
);