TextFormField值到TextField新行



我有一个问题。我想从TextFormField发送返回(returnvalue1…2…3)输出到一个TextField。我希望它将每个输出附加到newline而不清除TextField。我该怎么做呢?谢谢你的帮助。

TextFormField代码:

TextFormField(
decoration: InputDecoration(
enabledBorder: OutlineInputBorder(
borderSide: BorderSide(
color: Colors.green,
width: 2.0,
),
),
prefixText: 'test: ',
prefixStyle: TextStyle(color: Colors.green, fontSize: 20),
errorStyle: TextStyle(
backgroundColor: Colors.black,
color: Colors.green,
fontSize: 18)
),
style: TextStyle(
fontSize: 18,
color: Colors.green,
backgroundColor: Colors.black),
validator: (value) {
if (value == null || value.isEmpty) {
return AppLocalizations.of(context)!.returnvalue1;
}
if (value == girdi) {
return AppLocalizations.of(context)!.returnvalue2;
} else {
return AppLocalizations.of(context)!.returnvalue3;
}
},
),
Padding(
padding: const EdgeInsets.symmetric(vertical: 16.0),
child: ElevatedButton(
onPressed: () {
if (_formKey.currentState!.validate()) {
}
},
child: Text(AppLocalizations.of(context)!.addTextToNewLine),
),
),

文本框代码:

TextField(
readOnly: true,
showCursor: false,
style: TextStyle(
fontSize: 18,
color: Colors.green,
backgroundColor: Colors.black),
),

分别为TextFormField和TextField添加控制器。然后,当您想要附加每个输出时,执行以下操作:

textFieldController.text = textFieldController.text + textFormFieldController.text + "n";

n添加到字符串中。

Thisnallnareninnnewnlines

您需要一个TextEditingController来设置TextField中的当前字符串:

final controller = TextEditingController();

然后,将这个控制器传递给字段:

TextField(
controller: controller,
...
)

现在,当TextFormField中的值发生变化时,您可以在TextField中编辑字符串:

TextFormField(
onChanged: (value) {
if (value != '') {
controller.text = "${controller.text}n$value";
}
},
...
)

相关内容

  • 没有找到相关文章

最新更新