#flutter #dart #textfield
Вопрос:
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Todo Add'),
centerTitle: true,
),
body: Container(
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10),
child: Column(
children: [
TextField(
controller: controller,
onChanged: (value) => title = value,
decoration: InputDecoration(hintText: 'Enter your title'),
),
SizedBox(
height: 10,
),
TextField(
controller: controller1,
onChanged: (val) => body = val,
decoration: InputDecoration(hintText: 'Enter your body'),
),
SizedBox(
height: 40,
),
ElevatedButton(
onPressed: () {
setText();
},
child: Text("Submit"),
),
Text(
'Title : $text',
style: TextStyle(fontSize: 16),
),
SizedBox(height: 10,),
Text(
'Body : $desc',
style: TextStyle(fontSize: 16),
),
],
),
),
),
);
}
Комментарии:
1. Пожалуйста, отредактируйте свой код, он не читается.
2. Я поместил ваш код в блок кода, чтобы он был читаем, но вам все равно нужно будет объяснить, о чем вы спрашиваете (что вы подразумеваете под «другим экраном»?)
3. flutter.dev/документы/кулинарная книга/навигация/навигация-основы
4. Я хочу создать экземпляр значения текстового поля, чтобы я мог использовать это значение или распечатать его на любом другом экране
Ответ №1:
Вы можете получить текст текстового поля с помощью контроллеров.
String textfield1 = controller.text;
И отправьте эти переменные, такие как аргументы, на другой экран
Navigator.pushNamed(
context,
route,
arguments: [controller.text, controller1.text]
);
И получите эти аргументы на другом экране
final args = ModalRoute.of(context).settings.arguments;