-
通过controller控制,controller拥有控制滑动的功能,
具体方法:
定义一个controller
ScrollController _controller = new FixedExtentScrollController( initialItem: 1 );
在创建CupertinoPicker控件时,设置它的scrollController,再次展示该控件时,索引为1,控件将会自动根据索引跳到1的位置上了 -
实现一个性别选择
CupertinoPicker(
scrollController: _controller,
useMagnifier: true, //使用放大镜
itemExtent: 38,
onSelectedItemChanged: (value) {
print("选择性别:${pickerChildren[value]}");
print("$value");
setState(() {
selectedValue = value;
});
},
children: pickerChildren.map((data) {
return Text(data);
}).toList(),
)
# 初始化数据
int selectedValue = 0;
String selectedGender = "男";
ScrollController _controller;
# initState
if (widget.type == '性别') {
final index = widget.value == '1' ? 0 : 1;
// 1男 2女
setState(() {
selectedValue = widget.value == '1' ? 0 : 1;
_controller = new FixedExtentScrollController(initialItem: index);
selectedGender = widget.value == '1' ? '男' : '女';
});
}