在开发flutter中使用dropdownbutton作为选择组件,但是当切换数据后,原来的数据还在,我希望重置成默认提示字的样子。
这可咋办?
我的解决方案是:利用dropdownbutton的key
因为我的页面里面有不固定的多个dropdownbutton,所以我将key封装到一个数组中
1 2 3 4 |
var dropdownKeys = []; for (int i = 0; i < XXX.length; i++) { dropdownKeys.add(GlobalKey()) ; } |
Widget
1 2 3 4 5 6 |
@override Widget build(BuildContext context) { ...... for (int i = 0;i < XXXX.length;i++) return DropdownButton( key: dropdownKeys[i], |
切换数据时,记得清空key数组,再重新指派key就可以了
1 2 3 4 |
dropdownKeys = [] for (int i = 0; i < XXX.length; i++) { dropdownKeys.add(GlobalKey()) ; } |