分割小部件,我如何从另一个小部件添加信息到主小部件?

问题描述 投票:0回答:1

我是新的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();
  }
}
android-studio flutter dart visual-studio-code implementation
1个回答
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());

© www.soinside.com 2019 - 2024. All rights reserved.