อ่านรอบการวิดเจ็ต/ชั้นเรียนค่าคุณสมบัติของในกระพือภาพ

0

คำถาม

ฉันกำลังสร้างแบบโปรแกรมเกี่ยวกับหลายรอบการวิดเจ็ต/ชั้นเรียนมาจากต่างออก specialised แฟ้ม

รายการของแฟ้ม:

หลัก.dart->ที่เมนูแฟ้มเคยเริ่มกิจกรรม "กิจกรรม()"

group_widgets.dart->แฟ้มที่บรรจุที่กำหนดเองวิดเจ็ต "CustomWidget()"

file_a.dart->แฟ้มที่จะใช้กำหนดเองวิดเจ็ต ใน"กิจกรรม()"

คนอื่นๆdart->แฟ้มอื่นที่ต้องการที่จะจัดการข้อมูลเปลี่ยนไปใน CustomWidget()

ในหลัก.dart:

onPressed: () {
 Navigator.push(
  context,
  MaterialPageRoute(
   builder: (context) => const Activity(),
 ));
},

ใน group_widgets.dart:

class CustomWidget extends StatefulWidget {
  const CustomWidget({Key? key}) : super(key: key);

  @override
  State<CustomWidget> createState() => _CustomWidgetState();
}

class _CustomWidgetState extends State<CustomWidget> {
  var _boolean = false;
  bool switchBoolean(bool state) => !state;

  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      onPressed: () => {
        setState(() {
          _boolean = switchBoolean(_boolean);
        })
      },
      child: Container(
        color: _boolean == true ? Colors.green : Colors.red,
      ),
    );
  }
}

ใน file_a.dart

class Activity extends StatefulWidget {
  const Activity({Key? key}) : super(key: key);

  @override
  State<Activity> createState() => _ActivityState();
}

class _ActivityState extends State<Activity> {
  @override
  Widget build(BuildContext context) {

    bool boolean = true;

    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: const [
            CustomWidget(),
            Text('Here where to show the variable from CustomWidget'
                'and prove I can retrieve it')
          ],
        ),
      ),
    );
  }
}

ข้างในกันdart

if ( booleanFromCustomWidget == true) {
  Something ...
}

อะไรคือที่ดีที่สุดที่ฝึกซ้อมเพื่อจะประสบความสำเร็จในส่วมัน? ฉันอ่านหนังสือเยอะอยู่แต่ไม่มีอะไรดูเหมือนก็พอดีกับของฉันต้องการ.

แค่ความเห็นถ้าสิ่งที่ผมขอร้องไม่ได้เป็นอย่างชัดเจสำหรับฉันมันดูเหมือน))

dart flutter key
2021-11-23 17:07:24
2

คำตอบที่ดีที่สุด

1

โปรดแก้ไขให้ถูกต้องฉันถ้าฉันผิดแต่ถ้าคุณต้องการเข้าถึงข้อมูลจากพ่อแม่วิดเจ็ตจากข้างในพวกเขาสืบเชื้อสาย(เด็กหรือแม้แต่รอบการเด็ก)คุณสามารถผ่านพวกนั้นลงพารามิเตอร์ผ่านทางอาร์กิวเมนต์:

 Child(int age, String name);

และจากนั้นยอมรับมันอยู่ในแฟ้มตัวใหม่อยู่ที่ไหน Child วิดเจ็ตอมีชีวิตอยู่ผ่านทางของมัน constructor:

class Child {
  String name;
  int age;
     
  // Constructor
  Child(String passedName, int passedAge) {
    this.name = passedName;
    this.age = passedAge;
  }
}

ในชื่อเพจแมคคัลเลอร์dart คุณแล้วต้องนำเข้าพวกเด็กๆdart ต้องใช้มัน

หรือใช้เป็นที่นิยมแพกเกจชอบผู้ให้ห่อของ: https://pub.dev/packages/provider นี่จะอนุญาตให้คุณจัดเก็บข้อมูลของ containers ซึ่งคุณสามารถเข้าใช้งานพื้นฐานแล้ไหนทั้งนั้นอยู่ในนรหัสของพ่อ รู้สึกอิสระของกูเกิ้ลมั&ดูบทแนะนำการใช้งานแบบนอยากเริ่มอย่างที่มันเป็นกำหนดวิธีที่จะหลีกเลี่ยงส่งข้อมูลที่วิดเจ็ตซึ่งจริงๆไม่สนใจเรื่องที่ผ่านพารามิเตอร์

ข้อควรจำ:คุณสามารถถ่ายโอนการความคิดที่จะแสดงข้อความข้อมูลเหมือนในตัวอย่างเช่นรหัสทางด้านบน

2021-11-24 09:59:22

ขอโทษแต่มันดูเหมือนจะไม่เหมาะกับของฉัน needings สิ่งที่ฉันต้องทำก็คือแค่เฝ้าดูสถานะของปุ่มที่ใช้งานได้ autonomously อยู่ในอีกห้องแล้วทำให้บางเว็บเบราว์เซอร์ภายนอกตรรกะทำงานหลังจากนั้น แต่อาจจะ"ผู้ให้บริกา"คงทำงานฉันต้องหาให้เจอดีกว่า))
Peppinhood

ใช่นั่นฟังดูเหมือนคุณใช้เครื่องดื่มได้ใช้คดีสำหรับผู้ให้บริกา-ในที่สุดมันเป็นแค่ statemanagement ทางออก(คือบางอย่าง toggled/เปลี่ยนตัวอย่างเช่น)-แต่สำหรับกำลังที่เหมาะสมในการตอบคุณต้องวามแม่นยำกอยู่ในคำถามของคุณ;)
Jahn E.
0

คุณสามารถใช้เป็นของรัฐจัดการเหมือนผู้ให้บริกาหรือ bloc ที่ระดับบนสุดคุณตั้งข้อมูลการบริการ

2021-11-23 17:34:28

อย่างที่มันเป็นปัจจุบันเขียนของคุณคำตอบคือไม่แน่ชัด โปรด แก้ไข เพื่อเพิ่มรายละเอียดเพิ่มเติมนั้นจะช่วยคนอื่นเข้าใจว่าที่อยู่คำถามถาม คุณสามารถหาข้อมูลมากกว่าที่จะเขียนคำตอบที่ดี ในการช่วยเหลือศูนย์กลาง.
Tyler2P

ในภาษาอื่นๆ

หน้านี้อยู่ในภาษาอื่นๆ

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

ดังอยู่ในนี้หมวดหมู่

ดังคำถามอยู่ในนี้หมวดหมู่