从属关系:html_编辑器_增强:^2.4.0加1
HtmlEditor(
controller: controller,
htmlEditorOptions: HtmlEditorOptions(
darkMode: true,
initialText: _phase!.value,
hint: "Enter you information",
autoAdjustHeight: false,
shouldEnsureVisible: true,
webInitialScripts:
UnmodifiableListView([
WebScript(
name: "editorBG",
script:"document.getElementsByClassName('note-editable')[0].style.backgroundColor='blue';"),
WebScript(
name: "height",
script: """
var height = document.body.scrollHeight;
window.parent.postMessage(JSON.stringify({"type": "toDart: height", "height": height}), "*"); //,"color":'white'
"""),
]
)
),
htmlToolbarOptions:
const HtmlToolbarOptions(
// toolbarItemHeight: 90.0,
// gridViewHorizontalSpacing: 0.1,
// gridViewVerticalSpacing: 0.1,
toolbarPosition: ToolbarPosition.aboveEditor,
toolbarType: ToolbarType.nativeGrid
),
otherOptions: OtherOptions(
decoration: BoxDecoration(
color: Colors.white,
borderRadius:
BorderRadius.circular(10.0),
border: Border.all(
color: const Color.fromRGBO(244, 248, 248, 1),
width: 2),
),
),
);
如果我点击警报对话框(图像选择)取消或确定按钮,然后点击转到编辑器只放置在对话框下。请确认什么其他依赖是兼容的...这也是Flutter内置部件,他们已经 Package 它与指针拦截器...但它仍然是不工作
3条答案
按热度按时间vh0rcniy1#
我也遇到过类似的问题,但我在www.example.com上找到了这个https://github.com/flutter/flutter/issues/54027#issuecomment-797757996
尝试使用“--web-renderer html”运行flutter应用程序。
f3temu5u2#
问题:
html_editor_enhanced使用HtmlElementView显示编辑器,HtmlElementView在Flutter使用事件之前使用鼠标事件。
当Flutter小部件覆盖在HtmlElementView小部件上时,这些小部件响应鼠标手势(例如,手柄点击),点击将由HtmlElementView使用,而不会中继到Flutter。
结果是Flutter小部件的onTap(和其他)处理程序不会按预期触发,但它们会影响底层的web视图。
来源:pointer_interceptor文档
解决方案:
使用pointer_interceptor包中的PointerInterceptor Package 对话框小部件。
来自文档:
PointerInterceptor是一个小部件,用于防止鼠标事件(在Web中)被底层HtmlElementView捕获。
因此,如果您的对话方块程式码先前为:
您应该将其更新为:
sqougxex3#
如果你在确定或取消后遇到错误,你应该在对话框/页面关闭前清除焦点。使用下面的函数,首先为htmleditor创建一个控制器