You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

更换Flutter Quill版本并升级Flutter后仍报错无法运行

问题解决:flutter_quill 5.4.2与升级后Flutter SDK的兼容报错

报错信息

flutter_quill-5.4.2/lib/src/widgets/raw_editor.dart:233:7: Error: The non-abstract class 'RawEditorState' is missing implementations for these members:

  • TextInputClient.didChangeInputControl
  • TextInputClient.performSelector
    Try to either
  • provide an implementation,
  • inherit an implementation from a superclass or mixin,
  • mark the class as abstract, or
  • provide a 'noSuchMethod' implementation.
class RawEditorState extends EditorState
      ^^^^^^^^^^^^^^
/C:/src/flutter/packages/flutter/lib/src/services/text_input.dart:1163:8: 
Context: 'TextInputClient.didChangeInputControl'is defined here.

    void didChangeInputControl(TextInputControl? oldControl, TextInputControl? newControl){}
        ^^^^^^^^^^^^^^^^^^^^^

/C:/src/flutter/packages/flutter/lib/src/services/text_input.dart:1184:8: 
Context: 'TextInputClient.performSelector' is defined here.

    void performSelector(String selectorName){}
         ^^^^^^^^^^^^^^^

核心原因

升级后的Flutter SDK给TextInputClient接口新增了didChangeInputControl和performSelector两个强制实现的方法,但flutter_quill 5.4.2版本未适配该变更,导致接口实现不完整触发报错。

解决方案

方案1:升级flutter_quill到兼容版本(推荐)

  • 打开项目根目录的pubspec.yaml,将flutter_quill的版本修改为^6.0.0或更高(6.x及以上版本已适配Flutter SDK的新接口要求)
  • 执行命令:flutter pub get

方案2:临时手动修复(仅应急用)

  • 找到本地flutter_quill包的raw_editor.dart文件(路径对应报错中的flutter_quill-5.4.2/lib/src/widgets/raw_editor.dart)
  • 在RawEditorState类中添加两个方法的空实现:
@override
void didChangeInputControl(TextInputControl? oldControl, TextInputControl? newControl) {}

@override
void performSelector(String selectorName) {}
  • 注意:此修改为临时方案,后续执行flutter pub get会被覆盖,不建议长期使用

方案3:回退Flutter SDK到兼容版本

  • 执行命令回退到与flutter_quill 5.4.2兼容的Flutter版本(如3.13.x系列):flutter downgrade 3.13.9
  • 回退后重新运行项目

内容的提问来源于stack exchange,提问作者Muhammad Faruq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 02:06:04