我是Flutter的新手,我听不懂一些东西。我拆分了一些小部件以改善我的系统,但我不知道如何从其他页面添加数据。我想显示一周中的几天,而这天我又拆分了另一部件“ DaysOfWeek.dart”,并在其中编写了此类部件的类名main.dart文件,但是我有一个实现错误。我该如何解决? main.dart
import 'package:calendar_app/dayofweeks.dart';
import 'package:flutter/material.dart';
void main()=>runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Calendar',
home: MyHomePage(),
);
}
}
class MyHomePage extends StatefulWidget {
var calculateDays;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child:Column ( children: <Widget>[
Row(
DaysOfWeek(),), // here is the my small widget
],
),
),);
} }
dayofweeks.dart:
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class DaysOfWeek extends StatelessWidget{
@override
Widget build(BuildContext context) {
List<DateTime> calculateDays(DateTime startDate, DateTime endDate) {
List<DateTime> days = [];
for (int i = 0; i <= endDate.difference(startDate).inDays; i++) {
days.add(startDate.add(Duration(days: i)));
}
return days;
}
// TODO: implement build
throw UnimplementedError();
}
}
答案 0 :(得分:1)
我希望这会有所帮助:
main.dart:
import 'dayofweeks.dart'; //1st
import 'package:flutter/material.dart';
void main() => runApp(MaterialApp(
title: 'Flutter Calendar',
home: Scaffold(
body: MyHomePage(),
),
));
class MyHomePage extends StatefulWidget {
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Column(children: <Widget>[
(Row(
children: <Widget>[DaysOfWeek()],
))
])),
);
}
}
dayofweeks.dart:
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';
class DaysOfWeek extends StatelessWidget{
@override
Widget build(BuildContext context) {
List<DateTime> calculateDays(DateTime startDate, DateTime endDate) { //Sorry I don't understand the calculateDays() function
List<DateTime> days = [];
for (int i = 0; i <= endDate.difference(startDate).inDays; i++) {
days.add(startDate.add(Duration(days: i)));
}
return days;
}
throw UnimplementedError();
}
}
,如果您在widget_test.dart中发现问题, 替换此行
await tester.pumpWidget(MyApp());
与此一起
await tester.pumpWidget(MaterialApp());