我用的是GetX。我需要为列表可见性生成数据。
class TableController extends GetxController {
List<bool> columnVisibility = [];
@override
void onInit() async {
super.onInit();
columnVisibility = List.generate(getColumns.length, (index) => true);
}
List<GridColumn> get getColumns {
return <GridColumn>[
GridColumn(
columnName: 'name',
visible: columnVisibility[0],
label: Container(
padding: EdgeInsets.all(16.0),
alignment: Alignment.centerRight,
child: Text('name'),
),
)
];
}
}
错误:
Error: RangeError (index): Index out of range: no indices are valid: 0
线:
visible: columnVisibility[0]
所以我在错误的地方执行init。
1条答案
按热度按时间xeufq47z1#
在
onInit
方法中,您正在通过List.generate
初始化columnVisibility
列表,List.generate
正在使用getColumns
,而getColumns
已经在使用columnVisibility
列表,因此很明显它会抛出错误,因为它没有任何数据,并且您正在尝试使用0
索引从列表中访问值所以你可以改变这条线
到
确切地说,我没有得到你想达到的目标,但问题只是因为它