我有两个CupertinoPicker。这些将由标志显示。这是我的代码:
Widget picker1() {
return CupertinoPicker(
itemExtent: 32.0,
onSelectedItemChanged: (int index) {
print('picker1 changed: $index');
},
children: List.generate(1000, (index) {
return Center(child: Text('$index', style: TextStyle(color: Colors.white)));
}),
);
}
Widget picker2() {
return CupertinoPicker(
itemExtent: 32.0,
onSelectedItemChanged: (int index) {
print('picker2 changed: $index');
},
children: List.generate(40, (index) {
return Center(child: Text('$index', style: TextStyle(color: Colors.white)));
}),
);
}
这些显示在构建方法中,如下所示:
flag == 1 ? picker1() : picker2();
但是当更改picker1 的值并切换到picker2 时,picker2 的值也与picker1 的值相同,反之亦然。但是 onSelectedItemChanged 没有反映。
这发生在 iOS 和 Android 上。
有人可以帮我解决这个问题吗?