gpt4 book ai didi

flutter - Listview构建器未更新列表中的值

转载 作者:行者123 更新时间:2023-12-03 04:45:44 25 4
gpt4 key购买 nike

我在Stack中定位了ListViewBuilder,试图显示具有不同下拉值的多个图块之间的动态下拉。这似乎工作正常,除了以下事实:当使用新值更新列表并在SetState上刷新列表时,这些值似乎无法正确清除。

ListView构建器代码

Positioned(
top: 100,
left: 100,
width: 90,
height: MediaQuery.of(context).size.height,
child: ListView.builder(
shrinkWrap: true,
scrollDirection: Axis.vertical,
itemCount: dropDownListValues.length,
itemBuilder: (context, index) {
return Tile(
tileId: dropDownListValues[index],
isHeaderTile: false,
uuid: Uuid().v1(),
);
},
),
),

根据按下的按钮清除并更新列表。
  void _toggleDropDown(List valueList) {
if (dropDownListValues.isEmpty) {
setState(() {
dropDownListValues = valueList;
});
} else {
setState(() {
dropDownListValues.clear();
});
}
}

我最终得到的是该列表基于下拉列表中的项目数进行扩展,但是前一个列表的值会沿用最后一个列表。

例。

下拉列表值
Dropdown list 1 = ['one', 'two']
Dropdown list 2 = ['two', 'three', 'four']

我看到的是
Dropdown list 1 = ['one', 'two']
Dropdown list 2 = ['one', 'two', 'four']

如果我先单击列表2下拉列表,则会得到以下
Dropdown list 1 = ['two', 'three']
Dropdown list 2 = ['two', 'three', 'four']

我很沮丧,并花了数小时在此上,你知道我做错了什么导致此刷新问题吗?

提前致谢。

最佳答案

尝试使用 keys ,以便Flutter框架可以识别列表中的更改。

关于flutter - Listview构建器未更新列表中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62350141/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com