-1

我是新来的,在 Syncfusion 日历小部件中遇到问题。任何帮助将不胜感激。这是我的构建小部件中的代码:

  return  Scaffold(
  resizeToAvoidBottomInset: false, // set it to false
  body: SafeArea(
    child: SfCalendar(
                view: CalendarView.month,
                dataSource:getData(),
                monthViewSettings: MonthViewSettings(showAgenda: true,),

      ),
  ),
); 

'dart:ui/painting.dart':断言失败:第 1205 行 pos 12:'':不正确。

这是异常行:4 > child: SfCalendar()

这是堆栈跟踪:

**> 相关的导致错误的小部件是:SfCalendar

file:///Users/kashif/Desktop/AppRack/clique/lib/bottomDashboard/Calendar.dart:47:16 抛出异常时,这是堆栈:#2 Paint.color= (dart:ui/painting. dart:1205:12) #3 _AppointmentRenderObject._drawMonthAppointmentIndicator(包:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart:2042:15)#4 _AppointmentRenderObject._drawMonthAppointment(包:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart: 1698:9) #5 _AppointmentRenderObject._drawCustomAppointmentView (package:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart:1662:11)#6 _AppointmentRenderObject.paint (package:syncfusion_flutter_calendar/src/calendar/appointment_layout/appointment_layout.dart:1614: 7)#7 RenderObject._paintWithContext(包:flutter/src/rendering/object.dart:2396:7) #8 PaintingContext._repaintCompositedChild (package:flutter/src/rendering/object.dart:139:11) #9 PaintingContext.repaintCompositedChild (package:flutter/src/rendering/ object.dart:100:5) #10 PipelineOwner.flushPaint (package:flutter/src/rendering/object.dart:975:29) #11 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:464: 19) #12 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:879:13) #13 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:328:5) #14 SchedulerBinding。 _invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1143:15) #15 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1080:9) #16 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:996:5) #20 _invoke (dart:ui/hooks.dart:163:10) #21 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:259:5) #22 _drawFrame (dart:ui/hooks.dart:126:31) (从类 _AssertionError 和 dart:async 中省略了 5 帧) 触发异常时正在处理以下 RenderObject:_A​​ppointmentRenderObject#b4ead ...需要合成 ... parentData : (可以使用大小) ...约束:BoxConstraints(w=411.4, h=452.8) ... 层:OffsetLayer#2d0bc ...引擎层:OffsetEngineLayer#fc8e9 ...偏移量:Offset(0.0, 0.0) 。 .. 尺寸:尺寸(411.4,452.8)渲染对象:_AppointmentRenderObject#b4ead31)(从 _AssertionError 类和 dart:async 中省略了 5 帧)触发异常时正在处理以下 RenderObject:_A​​ppointmentRenderObject#b4ead ...需要合成 ... parentData:(可以使用大小)...约束:BoxConstraints (w=411.4, h=452.8) ...层:OffsetLayer#2d0bc ...引擎层:OffsetEngineLayer#fc8e9 ...偏移量:Offset(0.0, 0.0) ...大小:Size(411.4, 452.8) RenderObject: _AppointmentRenderObject#b4ead31)(从 _AssertionError 类和 dart:async 中省略了 5 帧)触发异常时正在处理以下 RenderObject:_A​​ppointmentRenderObject#b4ead ...需要合成 ... parentData:(可以使用大小)...约束:BoxConstraints (w=411.4, h=452.8) ...层:OffsetLayer#2d0bc ...引擎层:OffsetEngineLayer#fc8e9 ...偏移量:Offset(0.0, 0.0) ...大小:Size(411.4, 452.8) RenderObject: _AppointmentRenderObject#b4ead大小(411.4,452.8)渲染对象:_AppointmentRenderObject#b4ead大小(411.4,452.8)渲染对象:_AppointmentRenderObject#b4ead
需要合成parentData:(可以使用size)约束:BoxConstraints(w=411.4, h=452.8) layer: OffsetLayer#2d0bc engine layer: OffsetEngineLayer#fc8e9 offset: Offset(0.0, 0.0) size: Size(411.4, 452.8) == ==================================================== =================================================**

4

1 回答 1

0

根据我们检查过的提供的信息,我们无法从最终重现上述问题。我们为此准备了一个简单的样本,基于给定的堆栈,我们怀疑样本中的约会颜色设置为空。请找到相同的代码片段。

代码片段:

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';
import 'package:syncfusion_flutter_calendar/calendar.dart';

void main() => runApp(AgendaView());

class AgendaView extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Agenda(),
    );
  }
}

class Agenda extends StatefulWidget {
  @override
  State<StatefulWidget> createState() => AgendaExample();
}

class AgendaExample extends State<Agenda> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      body: SafeArea(
        child: SfCalendar(
          view: CalendarView.month,
          dataSource: MeetingDateSource(_getDataSource()),
          monthViewSettings: MonthViewSettings(showAgenda: true),
        ),
      ),
    );
  }
}

List<Meeting> _getDataSource() {
  List<Meeting> meets = <Meeting>[];
  meets.add(Meeting('Meeting', DateTime.now(),
      DateTime.now().add(Duration(minutes: 30)), Colors.pink, true));
  return meets;
}

class MeetingDateSource extends CalendarDataSource {
  MeetingDateSource(List<Meeting> source) {
    appointments = source;
  }
  @override
  String getSubject(int index) {
    return appointments![index].eventname;
  }

  @override
  DateTime getStartTime(int index) {
    return appointments![index].from;
  }

  @override
  DateTime getEndTime(int index) {
    return appointments![index].to;
  }

  @override
  Color getColor(int index) {
    return appointments![index].bgclr;
  }

  @override
  bool isAllDay(int index) {
    return appointments![index].bval;
  }
}

class Meeting {
  Meeting(this.eventname, this.from, this.to, this.bgclr, this.bval);
  String eventname;
  DateTime from;
  DateTime to;
  Color bgclr;
  bool bval;
}

如果共享信息不符合您的要求,请您修改共享示例以复制问题,或者如果可能,共享用于复制过程的日历代码片段,以便我们进一步分析并尽早为您提供可能的解决方案.

于 2021-08-26T09:32:02.283 回答