Flutter 如何在flatter中的文本类中显示列表值
您好这是一个显示列表值的简单代码。 我只想显示CourseModel.dummy()的值。在这段代码中,我只想打印它的名称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
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())
}