进行仅一个按钮专用的特定操作

我一般都不熟悉Flutter和OOP,我正在制作一个应用程序,告诉您选择德语单词的文章。 我想知道如何仅根据答案是否正确来更改所按下按钮的颜色,并同时禁用所有按钮。但是按下时,所有3个按钮都会更改颜色并被禁用。

这是我的按钮课

import 'package:flutter/material.dart';

class ArticleButton extends StatelessWidget {
  @override
  final String article;
  final Function check;
  final bool onPushed;
  final Color bgColor;
  ArticleButton({this.article,this.check,this.onPushed,this.bgColor});


  Widget build(BuildContext context) {
    return Padding(
      padding: const EdgeInsets.all(8.0),
      child: FlatButton(
        onPressed: onPushed? check:null,
        child: Text(
            "$article",
        style: TextStyle(
          fontSize: 20.0,
          fontFamily: 'Roboto',
        ),),
        splashColor: Colors.grey,
        disabledColor: bgColor,


      ),
    );
  }
}

这是我的主要功能

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'services/word.dart';
import 'package:germanarticle/button.dart';

void main() {
  runApp(MaterialApp(
    home: Home(),
  ));
}
class Home extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}



class _HomeState extends State<Home> {
  List<Word> words =[
    Word(article: "Der",word: "Apfel"),
    Word(article: "Die",word: "Erdbeere"),
    Word(article: "Das",word: "Auto"),
  ];

  List<String> articles=['Der',"Die","Das"];
  int index =0;
  int score =0;
  bool enabled=true;
  Color bgColor=Colors.blue;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body:Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          Text("$score"),

          Text("${words[index].word}"
              ,style: TextStyle(
              fontSize: 60.0,
            ),
          ),
          SizedBox(
            height: 20.0,
          ),
          Row(
            mainAxisAlignment: MainAxisAlignment.spaceEvenly,
            children:

              articles.map((e)=>ArticleButton(
                  article:e,
                  check:(){
                    if (words[index].article == e){
                      setState(() {
                        score++;
                        bgColor=Colors.green;

                      }
                      );

                    }else{
                      setState(() {
                        enabled=false;
                        bgColor=Colors.red;


                      });
                    }

                  },onPushed: enabled,
                bgColor: bgColor,
                  )
              ).toList(),




          ),
          FlatButton(

            onPressed: () {
              setState(() {
              index++;
              enabled =true;

            });
            },
            child: Text("next"),


          )
        ],
      ),

    );
  }
}

谢谢