Disable a text edit field in flutter
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.
Similar to readonly like in html
TextField(
enableInteractiveSelection: false,
focusNode: FocusNode(),
)
This can response to onTap.
Similar to disabled like in html
TextField(
enable: false
)
This can not response to onTap.
TextFormField(
readOnly: true,
)
TextField
and TextFormField
both have an argument called enabled
. You can control it using a boolean variable. enabled=true
means it will act as an editing text field whereas enabled=false
will disable the TextField
.