gpt4 book ai didi

flutter - 设置 CupertinoDatePicker minuteInterval : throws an exception. Flutter

转载 作者:行者123 更新时间:2023-12-04 09:35:52 24 4
gpt4 key购买 nike

我在将 CupertinoDatePickerminuteInterval: 属性设置为 30 时遇到问题。它应该是 60 的整数因子,所以 30 应该没问题。但我只能将它设置为 1 或 2,任何其他值都会引发此异常:

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown building BlocBuilder<BookingBloc, BookingState>(dirty, state: _BlocBuilderBaseState<BookingBloc, BookingState>#c437f):
initial minute is not divisible by minute interval
'package:flutter/src/cupertino/date_picker.dart':
Failed assertion: line 269 pos 7: 'this.initialDateTime.minute % minuteInterval == 0'


Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
https://github.com/flutter/flutter/issues/new?template=BUG.md

The relevant error-causing widget was:
BlocBuilder<BookingBloc, BookingState> file:///Volumes/archivi%20recuperati/Flutter%20apps%20/fixit_cloud_biking/lib/Screens/select_shop_booking_screen.dart:67:14
When the exception was thrown, this was the stack:
#2 new CupertinoDatePicker (package:flutter/src/cupertino/date_picker.dart:269:7)
#3 _SelectShopBookingScreenState.build.<anonymous closure> (package:fixit_cloud_biking/Screens/select_shop_booking_screen.dart:132:36)
#4 BlocBuilder.build (package:flutter_bloc/src/bloc_builder.dart:90:50)
#5 _BlocBuilderBaseState.build (package:flutter_bloc/src/bloc_builder.dart:162:48)
#6 StatefulElement.build (package:flutter/src/widgets/framework.dart:4334:27)
...
════════════════════════════════════════════════════════════════════════════════════════════════════

是不是还有什么要设置的?

我是这样设置的。

非常感谢。

Expanded(
flex: 2,
child: Container(
padding: EdgeInsets.all(20),
color: Colors.transparent,
child: CupertinoDatePicker(
backgroundColor: Colors.transparent,
use24hFormat: true,
mode: CupertinoDatePickerMode.dateAndTime,
minuteInterval: 30,
onDateTimeChanged: (DateTime selected) {
print('selected is $selected');
BlocProvider.of<BookingBloc>(context).add(
FindAvailableShopsForBooking(
bookingStart:
selected.millisecondsSinceEpoch,
duration: widget.duration,
cityDb: widget.cityDb,
regionDb: widget.regionDb,
countryDb: widget.countryDb));
}),
),
),

最佳答案

您应该更新两个参数:minuteInterval initialDateTime。这是一个间隔为 30 分钟的示例:

              SizedBox(
height: 200,
child: CupertinoDatePicker(
minuteInterval: 30,
initialDateTime: DateTime.now().add(
Duration(minutes: 30 - DateTime.now().minute % 30),
),
mode: CupertinoDatePickerMode.time,
use24hFormat: true,
onDateTimeChanged: (value) => setState(
() {
print(value);
},
),
),
),

enter image description here

关于flutter - 设置 CupertinoDatePicker minuteInterval : throws an exception. Flutter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62590945/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com