• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 Flutter 게시판 부모위젯의 변수를 자식위젯이 인식을 못합니다

부모위젯의 변수를 자식위젯이 인식을 못합니다

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 글쓴이
  • #101970

    문정환
    참가자
    부모위젯의 username 변수를 자식위젯 Dialog에서 이용하려했는데 자식위젯에서 부모위젯 변수를 인식을 못하네요 
    1. 보내기, 2. 등록하기, 3. 쓰기의 모든 방법을 다 지켰는데도 안돼서 여쭤봅니다 
    도와주새요 흑흑
    *username 변수는 사용자가 모달창에 정보를 입력할 수 있도록 만든 변수입니다
    
    
    
    import 'package:flutter/material.dart';
    void main() {
      runApp(MaterialApp(
          home: MyApp()),
      );
    }
    class MyApp extends StatefulWidget {
      MyApp({super.key});
      @override
      State<MyApp> createState() => _MyAppState();
    }
    class _MyAppState extends State<MyApp> {
      var name = ['김영숙', '홍길동', '피자집'];
      var like = [0, 0, 0 ];
      var username = '';
      @override
      Widget build(BuildContext context) {
        return Scaffold(
              floatingActionButton:  FloatingActionButton(
            onPressed: () {
              showDialog(context: context, builder: (context) {
                return DialogUI(state : username);
              },
              );
            }),
              appBar: AppBar(),
              body: ListView.builder(
                itemCount: 3,
                itemBuilder: (c, i) {
                 return ListTile(
                   leading: Icon(Icons.person_pin),
                    title: Text(name[i]),
                  );
              },
              ),
            );
      }
    }
    class DialogUI extends StatelessWidget {
      DialogUI({Key? key, this.state}) : super(key: key);
      final state;
      @override
      Widget build(BuildContext context) {
        return AlertDialog(
                title: Text('CANCLE'),
                content: TextField(
                  onChanged: (value) {
                     username = value; // 인식 못하는 부분
                  },
                ),
                actions: [
                  TextButton(onPressed: (){
                    Navigator.of(context).pop();
                  },
                      child: Text('CANCLE')),
                  TextButton(onPressed: (){
                    Navigator.of(context).pop();
                  },
                      child: Text('OK')),
                ],
              );
            }
      }
    
    
    
    #102003

    codingapple
    키 마스터
    state바꿀 때는 setState함수 이용합시다 
    자식에 보낼 땐 state이름으로 바꿨는데 그걸써야할듯요
2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠