uniapp富文本editor在插入emoji表情后,如何不显示软键盘?

在选择emoji表情后,刚开始用的是insertText{text:emoji表情},表情是插入了,但是由于输入框有了焦点,自动弹出了软键盘,并且收起了emoji表情面板,如果需要再次选emoji很麻烦,得再次点击emoji选择面板按钮。

后来富文本editor 加了:read-only="isReadOnly",选择emoji表情后readOnly设置为true,由于富文本状态为只读,导致insertText无法插入表情。

javascript 复制代码
<editor id="editor" class="send-text-area" :placeholder="isReceipt ? '[回执消息]' : ''"
						:read-only="isReadOnly" @focus="onEditorFocus" @blur="onEditorBlur" @ready="onEditorReady"
						@input="onTextInput">
					</editor>
<scroll-view v-if="chatTabBox === 'emo'" class="chat-emotion" scroll-y="true"
				:style="{height: keyboardHeight+'px'}">
				<view class="emotion-item-list" v-for="(items, i) in emoList" :key="i">
					<block v-for="(item, index) in items" :key="index">
						<view class="emoj_parent" hover-class="checkActive" @click="tuchEmoj(item)">
							<text class="emoj_conn">{{item}}</text>
						</view>
					</block>
				</view>
			</scroll-view>

最终使用下面方法解决了。

选择emoji表情后将富文本修改为只读,防止有焦点弹出软键盘。getContents方法获取editor内容,拼接emoji表情后setContents方法重新设置editor内容,完成后,修改富文本状态为可写,使用blur方法使富文本编辑器失去焦点。

javascript 复制代码
tuchEmoj(item) {
				this.isReadOnly = true;
				this.$nextTick(() => {
					this.editorCtx.getContents({
						success: (res) => {
							this.editorCtx.setContents({
								html: res.text + item,
								complete: () => {
									this.isReadOnly = false
									this.editorCtx.blur()
								}
							})
						}
					})
				})
			}

这种的话软键盘不会突然闪现,也不会由于readonly为只读导致无法插入emoji表情。

效果: https://live.csdn.net/v/494264

相关推荐
2501_915918416 小时前
深入对比iOS开发中常用性能监控工具的底层原理与优缺点分析
android·ios·小程序·https·uni-app·iphone·webview
AI多Agent协作实战派13 小时前
AI多Agent协作系统实战(二十三):Agent读HEARTBEAT.md不读AGENTS.md——openclaw的文件加载之谜
前端·数据库·人工智能·uni-app
m0_5474866617 小时前
《Vue.js + uni-app全栈开发从入门到实践 》全套PPT课件2026版
vue.js·uni-app
三声三视1 天前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
小徐_23332 天前
Open Wot 1.0.5 发布:让 AI 接入 wot-ui,只需要两条命令
前端·uni-app·ai编程
AI多Agent协作实战派2 天前
AI多Agent协作系统实战(二十二):从6列到12列——任务监控报告的进化之路
java·人工智能·uni-app·bug
小杨小杨、努力变强!2 天前
VS Code运行HBuilder X中的uni-app项目
vscode·uni-app·uni-app run
码兄科技2 天前
实战:基于Spring Boot + UniApp的地理信息小程序开发
spring boot·后端·uni-app
2501_916007473 天前
iOS和macOS应用程序性能分析和优化工具使用综合指南
android·macos·ios·小程序·uni-app·iphone·webview
2501_916007474 天前
深入理解HTTPS对称与非对称加密机制及Charles抓包实践
网络协议·http·ios·小程序·https·uni-app·iphone