Flutter 按下按钮后,使文本可编辑
有人知道我按下按钮后如何使文本可编辑吗?我希望它只有在用户单击按钮时才可编辑。下面是我需要的结果Flutter 按下按钮后,使文本可编辑,flutter,flutter-layout,textfield,Flutter,Flutter Layout,Textfield,有人知道我按下按钮后如何使文本可编辑吗?我希望它只有在用户单击按钮时才可编辑。下面是我需要的结果 如果我想编辑文本“节日假期”,那么我需要单击编辑按钮。我认为这应该满足您的要求 TextEditingController _controller = TextEditingController(text: "Festive Leave"); bool _isEnable = false; //These are initialize at the top Row(
如果我想编辑文本“节日假期”,那么我需要单击编辑按钮。我认为这应该满足您的要求
TextEditingController _controller =
TextEditingController(text: "Festive Leave");
bool _isEnable = false;
//These are initialize at the top
Row(
children: <Widget>[
Container(
width: 100,
child: TextField(
controller: _controller,
enabled: _isEnable,
),
),
IconButton(
icon: Icon(Icons.edit),
onPressed: () {
setState(() {
_isEnable = true;
});
})
],
),
TextEditingController\u控制器=
文本编辑控制器(文本:“节日假期”);
bool _isEnable=false;
//这些在顶部初始化
划船(
儿童:[
容器(
宽度:100,
孩子:TextField(
控制器:_控制器,
已启用:_isEnable,
),
),
图标按钮(
图标:图标(Icons.edit),
已按下:(){
设置状态(){
_isEnable=正确;
});
})
],
),
我想这会对你有所帮助
class SampleDemo extends StatefulWidget {
@override
_SampleDemoState createState() => _SampleDemoState();
}
class _SampleDemoState extends State<SampleDemo> {
String title = "MyTitle";
bool isEditable=false;
@override
Widget build(BuildContext context) {
return Row(children: [
Expanded(
child: !isEditable
? Text(title)
: TextFormField(
initialValue: title,
textInputAction: TextInputAction.done,
onFieldSubmitted: (value) {
setState(() => {isEditable = false, title = value});
})),
IconButton(
icon: Icon(Icons.edit),
onPressed: () {
setState(() => {
isEditable = true,
});
},
)
]);
}
}
class SampleDemo扩展StatefulWidget{
@凌驾
_SampleDemoState createState();
}
类_SampleDemoState扩展状态{
字符串title=“MyTitle”;
bool isEditable=false;
@凌驾
小部件构建(构建上下文){
返回行(子项:[
扩大(
孩子:!可编辑
?文本(标题)
:TextFormField(
初始值:title,
textInputAction:textInputAction.done,
onFieldSubmitted:(值){
setState(()=>{isEditable=false,title=value});
})),
图标按钮(
图标:图标(Icons.edit),
已按下:(){
设置状态(()=>{
isEditable=true,
});
},
)
]);
}
}
行(
儿童:[
容器(
宽度:100,
孩子:TextField(
装饰:输入装饰(
hintText:“节日假期”,
hintStyle:TextStyle(颜色:Colors.black),
),
已启用:_isEnable,
),
),
图标按钮(
图标:图标(Icons.edit),
已按下:(){
设置状态(){
_isEnable=正确;
});
})
],
),
您的选择这一个文本将消失,一旦用户开始键入,虽然这是您初始化文本字段的方式,但我将在下面提供一些代码,这些代码将有稍微不同的效果,但不使用控制器,您可以选择您想要了解的内容,谢谢很多人,这对我帮助很大,您太棒了!!
Row(
children: <Widget>[
Container(
width: 100,
child: TextField(
decoration: InputDecoration(
hintText: "Festive Leave",
hintStyle: TextStyle(color: Colors.black),
),
enabled: _isEnable,
),
),
IconButton(
icon: Icon(Icons.edit),
onPressed: () {
setState(() {
_isEnable = true;
});
})
],
),