Disable a text edit field in flutter
I need to disable TextFormField occasionally. I couldn't find a flag in the widget, or the controller to simply make it read-only or disable. What is the best way to do it?
Solution 1:
There is another way this can be achieved which also does not cause this issue. Hope this might help someone.
Create AlwaysDisabledFocusNode
and pass it to the focusNode
property of a TextField
.
class AlwaysDisabledFocusNode extends FocusNode {
@override
bool get hasFocus => false;
}
then
new TextField(
enableInteractiveSelection: false, // will disable paste operation
focusNode: new AlwaysDisabledFocusNode(),
...
...
)
Update:
TextField
now has enabled
property. Where you can just disable the TextField
like
new TextField(
enabled: false,
...
...
)
Note: This will also disable icon associated with text input.
Solution 2:
TextFormField(
readOnly: true,
)