TextField处于可编辑状态


final TextEditingController _namecontroller = TextEditingController(text: 'Jeya Singh');
bool isEditable = false;
Row(
children: [
SizedBox(
width: width(context) * 0.8,
child: Column(
children: [
TextField(
controller: _namecontroller,
enabled: isEditable,
decoration: InputDecoration(
border: const UnderlineInputBorder(
borderSide: BorderSide(
color: purple,
),
),
labelText: 'Name',
labelStyle: const TextStyle(
fontWeight: FontWeight.w600,
),
suffixIcon: IconButton(
iconSize: 16,
onPressed: () {
setState(() {
isEditable = true;
});
},
icon: const FaIcon(FontAwesomeIcons.pen),
),
),
style: const TextStyle(
fontWeight: FontWeight.bold,
color: textBlack,
),
),
],
),
),
],
)

它以前工作过,但突然不工作了,我可以为textField设置下划线边界,但我看不出它在工作,

我试图创建的Thig是一个可编辑的TextField,当按下后缀Icon时,它应该只是文本格式。

您还通过将Texfield'senabled值设置为false来禁用后缀图标。

Textfield中移除Iconbutton,并将其放置在Textfield旁边

像这样:

Row(
children: [
SizedBox(
width: width(context) * 0.8,
child: Column(
children: [
TextField(
controller: _namecontroller,
enabled: isEditable,
decoration: InputDecoration(
border: const UnderlineInputBorder(
borderSide: BorderSide(
color: purple,
),
),
labelText: 'Name',
labelStyle: const TextStyle(
fontWeight: FontWeight.w600,
),

),
style: const TextStyle(
fontWeight: FontWeight.bold,
color: textBlack,
),
),
],
),
),
IconButton(
iconSize: 16,
onPressed: () {
setState(() {
isEditable = true;
});
},
icon: const FaIcon(FontAwesomeIcons.pen),
),
],
)