我遇到了問題,我有一個串列(ListOne),每個專案都有一個串列(ListTwo),當我將一個專案輸入 ListOne 時,ListView.builder/ListView.separated對于 ListOne ,當我將一個專案輸入 ListTwo 時,它可以作業ListView.builder/ListView.separated對于 ListTwo 它不起作用,我嘗試使用ObxWidget 但它不起作用
這是我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(),
),
uj5u.com熱心網友回復:
如果您使用的是GetX庫,則使用Obx()小部件包裝ListView.builder()/ListView.separated()并嘗試將和作為您將在Obx()方法中使用的Observable欄位。確保在Obx()的第一級使用中使用Observable欄位,而不是在嵌套的子小部件中使用。listOnelistTwo
例如:正確使用將是 -
import 'package:get/get.dart';
List<dynamic> listOne = List.empty(growable : true).obs;
Obx(()
{
var list = listOne.toList(growable:true);
return ListView.builder();
}
);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/388548.html
上一篇:適合擴展行的高度
