Disable a text edit field in flutter

后端 未结 11 1586
深忆病人
深忆病人 2020-12-23 17:05

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?

11条回答
  •  半阙折子戏
    2020-12-23 17:27

    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.

提交回复
热议问题