我是新的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();
}
}
我希望这能帮助你。
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());