Widget build(BuildContext context) {
return Scaffold(
body: Container(
width: MediaQuery.of(context).size.width,
height: MediaQuery.of(context).size.height,
decoration: const BoxDecoration(color: Color.fromARGB(255, 80, 51, 51)),
child: SingleChildScrollView(
child: Padding(
padding: EdgeInsets.all(20),
child: Column(
children: [studentText(123, "asd", "asd")],
),
),
),
),
);
我想从我创建的小部件中获取应用程序内该页面的数据。
Container studentText(int schoolNumber, String name, String surname) {
return Container(
width: 50,
height: 50,
);
}
这是我创建的一个小部件。我正在返回两个字符串值以及小部件中的一个整数值。在第一段代码中,我试图用studentText((获取这些数据,但它没有显示这些数据。我在Flutter中从未理解过这个问题。创建一个小部件,然后在您想要使用它的地方调用它,并编写它的值。它在实践中看起来非常漂亮和简单,但我甚至很难做这个简单的操作。
容器不显示值。尝试如下:
Container studentText(int schoolNumber, String name, String surname) {
return Container(
width: 50,
height: 50,
child:Column(children:[
Text(schoolNumber.toString()),
Text(name),
Text(surname)
])
);
}
创建类似的小部件
作为Widget功能
Widget studentText(int schoolNumber,String name ,String surname){
return Container(
width: 50,
height: 50,
child:Column(children:[
Text(schoolNumber.toString()),
Text(name),
Text(surname)
])
);
}
您应该有返回类型的Widget而不是Container
或作为类
import 'package:flutter/material.dart';
class StudentText extends StatelessWidget {
final int schoolNumber;
final String name;
final String surname;
const StudentText({Key? key, required this.schoolNumber, required this.name, required this.surname}) : super(key: key);
@override
Widget build(BuildContext context) => Container(
width: 50,
height: 50,
child:Column(children:[
Text(schoolNumber.toString()),
Text(name),
Text(surname)
])
);
}
Container小部件没有显示文本的功能,要在容器内显示文本,需要一个text((小部件。
Container studentText(int schoolNumber, String name, String surname) {
return Container(
width: 50,
height: 50,
child : Text(schoolNumber.toString +"/n+"+name+"n"+surname),
);
}