我制作了一个实现form_bloc
的blockbuilder,并通过使用cupertino
将日期选择器小部件更改为ios样式。此代码/正文显示错误警报,可能导致返回null,代码:
onShowPicker: (context, currentValue) {
_showDialog(
CupertinoDatePicker(
initialDateTime: value,
mode: CupertinoDatePickerMode.date,
use24hFormat: true,
// This is called when the user changes the date.
onDateTimeChanged: (value) {
setState(() => inputFieldBloc.updateValue);
},
),
);
},
这就是构建方法的全部代码:
Widget build(BuildContext context) {
return BlocBuilder<InputFieldBloc, InputFieldBlocState>(
bloc: inputFieldBloc,
builder: (context, state) {
return DateTimeField(
format: DateFormat("dd-MM-yyyy"),
initialValue: state.value,
resetIcon: null,
onChanged: (value) {
inputFieldBloc.updateValue(value);
},
onShowPicker: (context, currentValue) {
_showDialog(
CupertinoDatePicker(
initialDateTime: value,
mode: CupertinoDatePickerMode.date,
use24hFormat: true,
// This is called when the user changes the date.
onDateTimeChanged: (value) {
setState(() => inputFieldBloc.updateValue);
},
),
);
},
decoration: InputDecoration(
labelText: labelText,
prefixIcon: Icon(Icons.calendar_today),
border: OutlineInputBorder(),
),
);
}
);
}
我把onShowPicker
放在DateTimeField
里面,有人知道如何解决这个错误吗?我真的需要你的帮助
您错过了return
onShowPicker: (context, currentValue) {
return something()
这是另一个相同的问题https://stackoverflow.com/a/66873806/12838877