Flutterでプルダウンリストで表示したTextFieldのデータ受け渡し

前提

以下のページで以前質問しました。
https://teratail.com/questions/62zv744372qho3

これでプルダウンによるtextfieldの出し分けができる様になりました。
これに表示されたtextfieldに値を入力してその値を遷移した画面へ渡したいです。

実現したいこと

プルダウンリストで「2,3,4」という選択肢があり2であればtextfieldが2つ、3であればtextfieldが3つと表示されます。
そしてそのtextfieldに入力した値を次の画面へTextとして表示させたいです。

発生している問題・エラーメッセージ

エラーメッセージは特に出ていません

該当のソースコード

細かい部分は省略しています。

firstpage.dart

class _firstpageState extends State<firstpage> { @override final lists = <int>[2, 3, 4]; void textChanged(int index, String value){ debugPrint('$index $value'); } Widget build(BuildContext context) { return Scaffold( body: Column( children: <Widget>[ DropdownButton<int>( value: selectedValue, items: lists .map((int list) => DropdownMenuItem(value: list, child: Text(list.toString()))) .toList(), onChanged: (int? value) { setState(() { selectedValue = value!; }); }, ), Column( children: List.generate( selectedValue, (index) => TextField( decoration: InputDecoration( border: const OutlineInputBorder(), labelText: 'name: $index'), onChanged: (value) => textChanged(index, value) //ここに渡す値を入れるものと想定しています。 ), ) ), ElevatedButton( onPressed: (){ Navigator.push( context, MaterialPageRoute( builder: (context) => secondPageCheck( //ここに遷移する値を入れると思っています ), ), ); }, child: Text('送信'), ) ], ), );

secondPage

class secondPage extends StatefulWidget { const secondPage({Key? key, required this.hogehoge, }) : super(key: key); final String hogehoge; @override State<secondPage> createState() => _secondPageState(); } class _secondPageState extends State<secondPage> { late String hogehoge; @override void initState(){ super.initState(); _hogehoge = widget.hogehoge; } Widget build(BuildContext context) { return Scaffold( body: Column( children: [ Text(_hogehoge), ], ), ); }

コメントを投稿

0 コメント