Flutter下拉菜单取值错误:点击添加新文档按钮后无法自动重置
问题根因
- 核心错误为参数传递失误:
addContainer方法接收的形参为indx,但内部调用adddropDown时传入的是全局状态变量index,而非传入的形参。这导致所有渲染出的下拉菜单,绑定的取值索引都是当前的全局index值,修改任意下拉菜单都会修改数组同一位置的取值,自然出现多下拉同步联动的异常。 - 冗余逻辑:
initState中无意义的setState调用无实际作用,可直接删除。
修复代码
仅需修改addContainer方法内的参数传递即可,修改后代码如下:
Widget addContainer(int indx) { return Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: <Widget>[ SizedBox( height: 10, ), // 将原传入的全局index改为形参indx adddropDown(indx) ], ), ); }
效果说明
修改完成后,每个下拉菜单都会绑定独立的索引,选中值互不干扰。新增容器时对应索引位置的dropdownValue默认为null,自动回到未选中的初始状态,完全符合需求。
内容的提问来源于stack exchange,提问作者mesutio
相关产品推荐
相关产品推荐

