uni-app 编辑器禁用状态下,调用editorContext实例下的api后,输入框依然会聚焦并弹出软键盘
uni-app 编辑器禁用状态下,调用editorContext实例下的api后,输入框依然会聚焦并弹出软键盘
| 开发环境 | 版本号 | 项目创建方式 |
|---|---|---|
| Windows | Windows 10 专业版 版本号 21H1 安装日期 2020/11/7 操作系统内部版本 19043.1165 序列号 005788743753 体验 Windows Feature Experience Pack 120.2212.3530.0 | HBuilderX |
测试过的手机:
- iphone6 plus
- oppo k3
示例代码:
editorContext.format('bold')
操作步骤:
(
format(e) {
let {
name,
value,
isapi
} = e.target.dataset
if (!name) return
if (isapi) {
this.editorCtx.insertDivider()
} else {
this.editorCtx.format(name, value)
}
},
)
更多关于uni-app 编辑器禁用状态下,调用editorContext实例下的api后,输入框依然会聚焦并弹出软键盘的实战教程也可以访问 https://www.itying.com/category-93-b0.html
3 回复
你好,我也遇到相似的问题,请问你解决了吗?
更多关于uni-app 编辑器禁用状态下,调用editorContext实例下的api后,输入框依然会聚焦并弹出软键盘的实战教程也可以访问 https://www.itying.com/category-93-b0.html
你好,请问你解决这个问题了吗?
这是一个已知的编辑器行为问题。当编辑器处于禁用状态(disabled="true")时,调用 editorContext 的 API(如 format、insertDivider 等)仍会触发输入框聚焦和软键盘弹出。
原因分析:
editorContext 的 API 调用本质上是操作富文本编辑器的底层内容,这些操作会隐式激活编辑器的可编辑状态,即使组件本身设置了 disabled 属性。在移动端,激活可编辑区域会自动触发软键盘。
临时解决方案:
-
条件拦截:在调用
editorContext方法前,手动检查编辑器的禁用状态:if (!this.editorDisabled) { this.editorCtx.format(name, value); } -
状态同步:在禁用编辑器时,同时清空
editorContext实例的引用,并在启用时重新获取:// 禁用时 this.editorCtx = null; // 启用时 this.editorCtx = uni.createSelectorQuery().select('#editor').context();

