在Flutter中使用可见性小部件切换小部件显示

问题描述

我有一个列小部件,我只想在用户点击添加新按钮时使其可见。我正在使用Visibility widget Flutter提供的产品,并且正在使用setState()更改Visibility小部件类中的 visible 属性。它不起作用。

我可以忽略什么?在下面找到我的代码段:

bool _addNewTax = false;

FlatButton.icon(
    color: kBgCircleColour,padding: EdgeInsets.all(15.0),icon: Icon(
      FontAwesomeIcons.plusSquare,color: kThemeStyleButtonFillColour,),onPressed: () {
      setState(() {
        _addNewTax = true;
      });
        Visibility(
          visible: _addNewTax,child: _buildTaxInputFields(),);
    },label: Text(
      'Add new tax',style: kRegularTextStyle,);

我的_buildTaxInputFields函数如下:

      _buildTaxInputFields() {
        return Column(
          children: <Widget>[
            Padding(
              padding: const EdgeInsets.all(20.0),child: TextFormField(
                initialValue: inputValue,textAlign: TextAlign.left,onSaved: () {},decoration: kTextFieldDecoration.copyWith(hintText: 'tax name e.g. VAT,service charge,etc'),Padding(
              padding: const EdgeInsets.all(20.0),decoration: kTextFieldDecoration.copyWith(hintText: 'tax percentage e.g. 20,19.5'),Row(
              children: <Widget>[
                Expanded(
                  flex: 1,child: RadioListTile(
                    title: Text('I\'ll bear it '),value: TaxBearer.merchant,groupValue: _taxBearer,onChanged: (TaxBearer value) {
                      setState(() {
                        _taxBearer = value;
                      });
                    },Expanded(
                  flex: 1,child: RadioListTile(
                      title: Text('Push to customer'),value: TaxBearer.customer,onChanged: (TaxBearer value) {
                        setState(() {
                          _taxBearer = value;
                        });
                      }),],);
      }

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)