我有一个问题。我想从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";
}
},
...
)