我无法从我在颤振中创建的小部件中获取数据


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),
  );
}

最新更新