如何在另一个带有很多参数的StatefulWidget类中使用自定义文本字段?

问题描述

今天,我创建了自己的自定义文本字段,我想在许多页面中使用它,但是其中包含一些参数。 您可以在这里看到

import 'package:flutter/material.dart';

class RequiredText extends StatefulWidget {

@override
_RequiredTextState createState() => _RequiredTextState();
}

class _RequiredTextState extends State<RequiredText> {
final myController = TextEditingController();

@override
void dispose() {
myController.dispose();
super.dispose();
}

@override
Widget build(BuildContext context) {
String LabelTextField;
String HelperTextField;
Color ColorBorder;
Color ColorField;
Color ColorCursor;

return Padding(
  padding: const EdgeInsets.only(left: 18.0),child: TextField(
    cursorColor: ColorCursor,style: TextStyle(
      color: ColorField,),keyboardType: TextInputType.number,textInputAction: TextInputAction.next,controller: myController,decoration: InputDecoration(
        enabledBorder: new OutlineInputBorder(
            borderSide: BorderSide(width: 1.5,color: ColorBorder)),border: OutlineInputBorder(
            borderSide: new BorderSide(color: Colors.cyan[200]),borderRadius: new BorderRadius.all(Radius.circular(20.0))),helperText: HelperTextField,labelText: LabelTextField,labelStyle: TextStyle(
          color: Colors.black26,fontSize: 20.0,fontFamily: 'DancingScript',icon: Icon(
          Icons.apps,)),);
}
}

但是我也想在main.dart类和其他页面中使用它。 但是显示错误

import 'package:AllInOneCalci/CustomTextFields.dart';
import 'package:AllInOneCalci/customAppBar.dart';
import 'package:flutter/material.dart';

class BMICalcUI extends StatefulWidget {
@override
_BMICalcUIState createState() => _BMICalcUIState();
}

class _BMICalcUIState extends State<BMICalcUI> {
 @override
 Widget build(BuildContext context) {
 double AppBarHeight = MediaQuery.of(context).size.height;
 return Scaffold(
   appBar: customAppBar(
    height: (AppBarHeight / 3) * 0.4,child: Row(
      mainAxisAlignment: MainAxisAlignment.center,children: [
        Padding(
          padding: const EdgeInsets.only(top: 18.0),child: Text(
            'All In One Cali',style: TextStyle(
                color: Colors.black,fontSize: 35.0,fontWeight: FontWeight.bold),],body: Padding(
    padding: const EdgeInsets.only(top: 18.0),child: Container(
      width: 300.0,child: Column(
        children: [
          RequiredText('Height','Input height in meters',Colors.cyan[200],Colors.redAccent,Colors.redAccent),);
 }
}

我也想在很多页面中使用它。您能帮我该怎么做吗? 这对我很有帮助。我被困在这里

RequiredText('Height',

此行显示错误。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)