Как получить доступ к списку stati c из одного файла дротика в другой во флаттере? - PullRequest
1 голос
/ 07 августа 2020

Ситуация

stati c список в firstScreen.dart как показано ниже

static List<Shoe> shoeBank = [
    Shoe(b: "Red Shoe", i: "assets/nikeShoeProduct1.jpg", q: 0),
    Shoe(b: "White Shoe", i: "assets/nikeShoeProduct2.jpg", q: 0)
  ]; 

это класс обуви в shoe.dart файле

class Shoe {
  String brand;
  int quantity;
  String image;
  Shoe({String b, int q, String i}) {
    brand = b;
    quantity = q;
    image = i;
  }
}

Сейчас Я хочу использовать список shoeBank в файле secondScreen.dart. Как это сделать?

А также

Я хочу использовать значения shoeBank при передаче параметра компоненту CheckOutItems ниже в secondScreen.dart

CheckoutItems(
addedToCartNumber:use of shoeBank Over here ,
checkOutScreenProductImage:use of shoeBank Over here,
shoesName:use of shoeBank Over here; 

Как это сделать?

1 Ответ

1 голос
/ 07 августа 2020

Вы можете просто получить доступ к static shoeBank в SecondScreen, используя FirstScreen.shoeBank.

Я добавил пример ниже:

Второй экран

 class SecondScreen extends StatelessWidget {

   // access the static list using the class name
   List<Shoe> shoeList = FirstScreen.shoeBank;

   @override
   Widget build(BuildContext context) {
     // use the list here
     return CheckoutItems(
       // quantity
       addedToCartNumber: shoeList[0].quantity,
       // image
       checkOutScreenProductImage: shoeList[0].image,
       // shoe branch
       shoesName: shoeList[0].brand,
     );
   }
 }

Первый экран

 class FirstScreen extends StatelessWidget {
   // shoe bank static list here
   static List<Shoe> shoeBank = [
    Shoe(b: "Red Shoe", i: "assets/nikeShoeProduct1.jpg", q: 0),
    Shoe(b: "White Shoe", i: "assets/nikeShoeProduct2.jpg", q: 0)
  ]; 

   @override
   Widget build(BuildContext context) {
     return Container(
       
     );
   }
 }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...