Могу ли я передать объект в качестве аргумента виджету - PullRequest
1 голос
/ 05 августа 2020

У меня есть виджет шаблона, который создает кнопки и класс членов семьи, могу ли я передать объект указанного класса в качестве аргумента в шаблон, чтобы на кнопке говорилось имя этого члена семьи, например?

class Template extends StatelessWidget {


 @override
  Widget build(BuildContext context) {
    return Container(
        height: 70,
        width: 120,
        child: Stack(
            alignment: Alignment.center,
            children: [
              FlatButton(
                  onPressed: (){print('hey');},
                  child: Text(members.name,
                      textAlign: TextAlign.justify)
              ),
              

Остальная часть шаблона не имеет значения, поэтому я обрезал его

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Да, можно,

class Template extends StatelessWidget {

Family members;
Template(this.members);

 @override
  Widget build(BuildContext context) {
    return Container(
        height: 70,
        width: 120,
        child: Stack(
            alignment: Alignment.center,
            children: [
              FlatButton(
                  onPressed: (){print('hey');},
                  child: Text(members.name,
                      textAlign: TextAlign.justify)
              ),
              
0 голосов
/ 05 августа 2020

Так же, как обычный объект, просто объявите свою переменную и сделайте ссылку на нее в конструкторе, и вам будет удобно go

 class Template extends StatelessWidget {
    final members;

    Template(this.members) : super();

      ...

   }
...