问题描述
Widget hourPicker() {
return Column(
children: <Widget>[
Padding(
padding: EdgeInsets.only(bottom: 5.0),child: Text(
"HH",style: TextStyle(fontSize: 20.0,fontWeight: FontWeight.bold),),NumberPicker.integer(
// initialValue: initHour,initialValue: hour,minValue: 0,maxValue: 23,onChanged: (val) {
setState(() {
if (reset != reset) {
val = 12;
} else {
hour = val;
}
});
})
],);
}`
*这是一个数字选择器,我想在按下重置按钮时重置 Val 如何编写一个函数来重置它但不使用导航器
解决方法
一个好方法是使用一个在您按下重置按钮时触发的函数,然后您可以在 setState 中更改小时变量的值,因为根据您的代码,它只会检查您是否对数字执行任何操作选择器和更改被触发
resetPicker(){
setState((){
hour= 12;
});
}
添加代码以触发您的按钮的重置功能,如下所示
RaisedButton(
child: Text('Reset'),onPressed: () {resetPicker();}
)
您还必须像下面那样对 on 进行更改
NumberPicker.integer(
initialValue: hour,minValue: 0,maxValue: 23,onChanged: (val) {
setState(() {
hour = val;
});
})