اذهب إلى المحتوى
  • 0

نقل البيانات بين الصفحات flutter

Flutter Dev

السؤال

تحيه طيبه للجميع

لدي استفسار لو تكرمتم

لدي مشروع يحتوي على عدد 3 صفحات بشكل التالي:

Page1

class Page1 extends StatefulWidget {
  var PID;
  var name;
  Page1({Key? key,this.PID,this.name}) : super(key: key);
  @override
  _Page1State createState() => _Page1State();
}

class _Page1State extends State<Page1> {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: Scaffold(body: Column(children: [

ElevatedButton(onPressed: (){

  Navigator.push(
      context,
      MaterialPageRoute(
        builder: (context) => Page2(
       

        ),
      ));

}, child: Text('Move to page2')),

      ElevatedButton(onPressed: (){

        Navigator.push(
            context,
            MaterialPageRoute(
              builder: (context) => Page3(
              

              ),
            ));

      }, child: Text('Move to page3')),

    ]),),);
  }
}

Page2 - تحتوي على قائمة listTite  الكتب

Page3- تحتوي على قائمة listTite  المولفين

على فرض انني الان في الصفحة Page1 ثم قمت بالانتقال من خلالها الى الصفحة Page2 طبعا هذا الصفحة تعرض لي مجموعة اختيارات مع تمكين خاصيةonTap قمت بوضع الـ onTap هذا بشكل التالي:

Navigator.push(
      context,
      MaterialPageRoute(
        builder: (context) => Page1(
            PID:snapshot.data[index]['PID'],
          
        ),
      ));

الان مع العودة الى الصفحة page1  سوف اجلب لدي PID

ثم سوف انتقل مره ثانية من الصفحة Page1 الى الصفحة Page3  التي هيا اخر صفحة لدي يوجد بها أيضا قائمة مع خاصيةonTap

Navigator.push(
      context,
      MaterialPageRoute(
        builder: (context) => Page1(
            name:snapshot.data[index]['name'],
          
        ),
      ));

ثم سأعود بطبيعة الحال الى الصفحة page1 أيضا لو قمت بضغط على القائمة مع نقل name لدي

 

المشكلة الان كالتالي:

لو قمت بنقل PID في اول خطوه ثم قمت بنقل name  بعدها بعد العودة من صفحة Page او الصفحة التي انقل منها name  سوف اجد انني فقد قيمت PID من Page  هو ما قمت بنقله في البداية 

كيف يمكن حل هذا المشكلة بمعنى أي متغير أقوم بنقله الى page1 احتاج الى ان لا يتم حذفه في حالة المستخدم انتقل الى صفحة مختلفة ليجلب قيم مختلف يجب ان تبقى هذا القيم 

هل توجد طريقة لفعل ذلك ؟

شكرا لكم

تم التعديل في بواسطة مروان مروان3
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 1

في كل مرة تقوم باستدعاء باني الصفحة Page1 سيتم تهيئتها ببيانات جديدة، أي لايوجد ربط بين ما تم تمريره مسبقاً وما تقوم به الآن،

الحل هو حفظ PID في Shared Preference وجلبه في الدخول الثاني للصفحة في حال تمرير اسم، وتعديله لكل مرة يتم الدخول ل PID أي تحديث القيمة القديمة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...