首页 > 解决方案 > 我正在尝试将 object.parameter 传递给自定义小部件并失败

问题描述

一般来说,我是颤振和编程的新手。我正在创建一个扩展磁贴,在扩展时包含更多关于公司的数据,如标签值字段。

import 'package:flutter/material.dart';
import '../Object.dart';

class CompanyCardStyle extends StatelessWidget {
  final Company company;
CompanyCardStyle({this.company});

@override
Widget build(BuildContext context) {
return Card(
    margin: EdgeInsets.fromLTRB(10.0, 10.0, 10.0, 0.0),
    child: ExpansionTile(
      
      title: Text(company.name),
      children: <Widget>[
        Container(
            padding: const EdgeInsets.all(15.0),
            child: Row(
                mainAxisAlignment: MainAxisAlignment.spaceEvenly,
                children: [
                  Column(
                    mainAxisAlignment: MainAxisAlignment.spaceAround,
                    crossAxisAlignment: CrossAxisAlignment.start,
                    children: [
                      companyLabels('Phone Number'),
                      companyLabels('Opportunities'),
                      companyLabels('Pipeline Revenue'),
                      companyLabels('Revenue Achieved'),
                    ],
                  ),
                  Container(
                    child: Column(
                      mainAxisAlignment: MainAxisAlignment.spaceAround,
                      crossAxisAlignment: CrossAxisAlignment.start,
                      children: <Widget>[
                        companyValues(company.phoneNumber),
                        SizedBox(
                          height: 10,
                        ),
                        Text(
                          company.opportunities.toString(),
                          textAlign: TextAlign.left,
                          style: TextStyle(
                              fontFamily: 'Raleway', fontSize: 15.0),
                        ),
                        SizedBox(
                          height: 10,
                        ),
                        Text(
                          company.pRevenue.toString(),
                          textAlign: TextAlign.left,
                          style: TextStyle(
                              fontFamily: 'Raleway', fontSize: 15.0),
                        ),
                        SizedBox(
                          height: 10,
                        ),
                        Text(
                          company.revenueAchieved.toString(),
                          textAlign: TextAlign.left,
                          style: TextStyle(
                              fontFamily: 'Raleway', fontSize: 15.0),
                        )
                      ],
                    ),
                  )
                ]))
      ],
      leading: CircleAvatar(child: Text(company.name[0])),
      subtitle: Text(company.address),
    ));
}

Widget companyLabels(String values) {
return Row(children: <Widget>[
  Text(
    values.toString(),
    textAlign: TextAlign.left,
    style: TextStyle(
        fontFamily: 'Raleway', fontSize: 15.0, fontWeight: FontWeight.bold),
  ),
  SizedBox(
    height: 30,
  )
]);
}

Widget companyValues(Company values) {
return Row(
  children: <Widget>[
    Text(
      company.values.toString(),
      textAlign: TextAlign.left,
      style: TextStyle(fontFamily: 'Raleway', fontSize: 15.0),
    ),
    SizedBox(
      height: 10,
    )
  ],
);
}
}

我正在尝试创建一个 companyValues 小部件,就像 companyLabels 小部件一样,我在 Object.dart 文件中有公司对象。

当我尝试将 company.parameters 传递到 companyValues 小部件时,我得到了错误 the getter 'values' is'nt defined for the type company

另外,请让我知道实现此类目标时要遵循的最佳实践是什么。

公司对象

  String name;
  String address;
  int phoneNumber;
  int opportunities;
  int pRevenue;
  int revenueAchieved;

  Company(
      {this.name,
      this.address,
      this.opportunities,
      this.pRevenue,
      this.phoneNumber,
      this.revenueAchieved});
}```

标签: flutterdart

解决方案


您的变量称为values. 去掉company.前缀。


推荐阅读