【问题标题】:Split Widgets ,How am i adding information from another widget to main widget?拆分小部件,我如何将信息从另一个小部件添加到主小部件?
【发布时间】:2020-09-22 19:42:47
【问题描述】:

我是 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】:

    我希望这会有所帮助:

    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());

    【讨论】:

    • 非常感谢,这并没有解决我的错误,我将继续执行未实现的错误,但感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-08-05
    • 1970-01-01
    • 2021-03-01
    • 2020-02-22
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多