Flutter 如何在flatter中的文本类中显示列表值

Flutter 如何在flatter中的文本类中显示列表值,flutter,Flutter,您好这是一个显示列表值的简单代码。 我只想显示CourseModel.dummy()的值。在这段代码中,我只想打印它的名称 import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:login_page/models/Course_model.dart'; class Text extends StatelessWidget { List<Cours

您好这是一个显示列表值的简单代码。 我只想显示CourseModel.dummy()的值。在这段代码中,我只想打印它的名称

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:login_page/models/Course_model.dart';

class Text extends StatelessWidget {
  List<CourseModel> courseList = [CourseModel.dummy()];

  Widget build(BuildContext context) {
    return Scaffold(
      resizeToAvoidBottomInset: false,
      backgroundColor: Colors.white,
      body: this._body,
    );
  }
}

extension on Text {
  Widget get _body => SafeArea(
        child: Container(
          color: Colors.white,
          child: ListView(
            children: [
              ...courseList.map((CourseModel subject) {
                return Text(subject.name);
              }).toList(),
            ],
          ),
        ),
      );

  Widget _subjectRow(CourseModel subject) {
    return Container(
      color: subject.active == true ? Colors.purple : Colors.white,
      child: Text(subject.name),
    );
  }
}
上面说

Too many positional arguments: 0 expected, but 1 found.
我不知道怎么解决这个问题。以防您可能会感到困惑,课程模型就是这种结构

class CourseModel{
  final String name;
  final int grade;
  final String type;
  final String department;
  final bool active;
  CourseModel({this.name,this.department, this.grade, this.type,this.active});

  factory CourseModel.dummy(){
    return CourseModel(
        name: "SW",
        department: "SW",
        grade: 2,
        type: "MUST",
        active: false,
    );
  }
}
试试这个

child: ListView.builder(
    itemCount: courseList.length,
    itemBuilder: (context, index) {
       return ListTile(
          title: Text(courseList[index].name),
       ),
    },
),

您实际上是在分配一个列表。您的课程列表是您需要分配给孩子的列表。只要去掉方括号就行了

children:  courseList.map((CourseModel subject) {
             return Text(subject.name);
          }).toList(),
        
我相信这是因为您的文本小部件不接受任何位置参数。请尝试以下操作,而不是扩展文本:

Widget _body(CourseModel subject) {
  //body code here (return SafeArea())
}

嗯,看来这也是一个争论的问题。。也许是因为我的模型本身?哦,等等,它是工作的thx!很高兴这有帮助。快乐的编码直到不起作用。。也许是因为我的模特?
Widget _body(CourseModel subject) {
  //body code here (return SafeArea())
}