Флаттер / дартс: как мне передать данные в этом случае? - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть класс данных - бизнес. У меня есть список бизнес-магазинов.

. Я хочу реализовать GridView магазинов ... однако я хочу использовать форматирование созданного мною объекта под названием Business. Карта

Я не могу понять, как взять данные из Списка магазинов и отобразить их на «Визитной карточке», которая вызывается в Gridview

Просматривал несколько видео с utubeи трепетная документация

filename: Business-data.dart

class Business {
  String bizname, price, primarycategory, image;
  bool userLiked;
  double discount;

  Business({this.bizname, this.price, this.discount, this.image, this.userLiked});
}

List<Business> stores = [
    Business(
        bizname: "Company",
        image: "assets/images/company.png",
        userLiked: true,
        ),
    Business(
        name: "Company",
        image: "assets/images/company2.png",
        userLiked: false,
        ),
    Business(
      name: "Company",
      image: 'assets/images/company3.png',
      userLiked: false,
    ),
    Business(
        name: "Company",
        image: "assets/images/restaurant.png",
        userLiked: true,
        )
  ];


filename: Business Card.dart
import 'package:theboardwalk/homeScreen/Data/Business-data.dart';

Widget BusinessCard(BuildContext context,
    {String bizName, Image bizLogo,double onLike, onTapped, bool isProductPage = false}) {
  return
    RaisedButton(
    color: white,
    elevation: 20,
    shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
    onPressed: () {
      Navigator.of(context).push(
        MaterialPageRoute(
          builder: (context) {
            return BusinessScreen();
          },
        ),
      );
    },
    child: Stack(
      fit: StackFit.expand,
      children: <Widget>[
        Center(child: Text(bizName)),
        // Image.asset(
        //   image,
        //   //color: Colors.red,
        // ),
      ],
    ),
  );
}


filename: miniAppGrid.dart
import 'package:theboardwalk/homeScreen/Components/3 MiniAppGrid/3.1 Business Card.dart';
import 'package:theboardwalk/homeScreen/Data/Business.dart';
import '../../Data/Business.dart';

Widget MiniAppGrid(BuildContext context) {
  return SizedBox(
    height: MediaQuery.of(context).size.height * .650,
    width: MediaQuery.of(context).size.width * .96,
    child: GridView.count(
     // itemCount: stores.length,
      crossAxisSpacing: MediaQuery.of(context).size.width * .035,
      mainAxisSpacing: MediaQuery.of(context).size.height * .0175,
      crossAxisCount: 2,
      children: stores.map(
        (data) => BusinessCard(
          bizName: (Business.bizname),
          bizLogo: image,
        ),
      ),
    ),
  );
}

Я ожидаю, что Визитные карточки Х числа будут построены на основе списка магазинов, которые у меня есть. Я полагаю, что у меня должна быть возможность получить доступ к списку магазинов и названиям всех компаний в этом списке.

1 Ответ

0 голосов
/ 06 ноября 2019

нашел это! взял меня еще несколько попыток!

children: stores.map(
        (data) => businessCard(
          bizName: data.name,
...