0

我正在开发一个颤振应用程序,我创建了一个 DropDowButton菜单,其中包含 2 个项目(私人聊天电话号码)和一个 TextFormField电话号码

选择电话号码时,我想启用TextFormField Phonenum。否则它总是禁用。

有没有办法做到这一点?提前致谢!

这是我的鳕鱼:

Widget menu(){
  return DropdownButtonFormField(
    decoration: InputDecoration(
      border: OutlineInputBorder(),
      labelText: 'select a way to contact with the buyer',
      labelStyle: TextStyle(
          fontSize: 16,
          color: Colors.grey,
          fontFamily: 'Almarai'
        ),
    ),
  items: <String>['phone number', 'private chat'].map((String value) {
    return DropdownMenuItem<String>(
      value: value,
      child: Text(value),
    );
  }).toList(),
  onChanged: (String? newValue) {
    setState(() {
      dropdownvalue = newValue!;
    });
  },
);
}

 Widget phonenum(){
    return 
    TextFormField( 
      maxLength: 10,
      decoration: InputDecoration(
        border: OutlineInputBorder(),
        labelText: 'phone number',
        labelStyle: TextStyle(
          fontSize: 16,
          color: Colors.grey,
          fontFamily: 'Almarai'
        ),
      ),
    );
  }
4

1 回答 1

1

TextFormField小部件具有enabled您可以使用的属性:

TextFormField(
  enabled: dropdownvalue == 'phone number',
  // ...         
);

在 DartPad 上试用完整的测试代码

截图

禁用字段

在此处输入图像描述

启用字段

在此处输入图像描述

于 2022-02-04T11:45:21.673 回答