方法如何返回2个小部件,稍后将在列中使用

时间:2020-09-24 09:05:17

标签: flutter

我正在尝试创建一种返回文本和TextInput的方法,而不是使用容器,而是希望将小部件轻松包装并发送回,我认为可以通过将两个小部件包装在{{1 }}:

()

我希望在Column小部件中使用它。使用上面的代码不起作用,因为Widget customTextFormField(String hintText) { return( Align( alignment: Alignment.centerLeft, child: Text( "Password", style: TextStyle( fontSize: 16.0 ), ), ), TextFormField( style: TextStyle(color: Colors.grey), controller: TextEditingController(text: ""), autofocus: true, cursorColor: Colors.blue, decoration: new InputDecoration( hintStyle: TextStyle(color: Colors.grey), contentPadding: EdgeInsets.only(left: 15), border: new OutlineInputBorder( borderRadius: BorderRadius.circular(4.0), ), focusedBorder: OutlineInputBorder( borderSide: const BorderSide(color: Colors.grey, width: 1.0), borderRadius: BorderRadius.circular(4.0), ), ), )); } 不能将两个小部件包装为一个。我也用过

2 个答案:

答案 0 :(得分:0)

您要么希望他们返回Column

return Column(children: [
  Align(),
  TextFormField()
];

或返回List,例如在列或列表视图中使用

List<Widget> customTextFormField(String hintText) {
  return [
    Align(),
    TextFormField(),
  ];
}

答案 1 :(得分:0)

返回小部件列表。

List<Widget> customTextFormField() {
 return [
  Container(),
  TextFormField(),
 ];
}

在列内使用传播运算符

return Column(children: [
  ...customTextFormField()
]);