UniApp中editor标签使用v-model和:value赋值失效的解决方法

问题描述

editor标签使用v-model和:value赋值都失效了。。。

UniApp中editor标签使用v-model和:value赋值失效的解决方法_第1张图片

UniApp中editor标签使用v-model和:value赋值失效的解决方法_第2张图片

解决办法

添加@ready="editorReady"触发
添加id="editorId"唯一标识

<editor placeholder="分享一下今天的心情吧~" style="color: black;" @input="editorInput" @ready="editorReady" id="editorId" >editor>

UniApp中editor标签使用v-model和:value赋值失效的解决方法_第3张图片

在methods定义该方法,操作dom来赋值

editorReady(){
	//由于editor的v-model和:value失效,只能用dom来赋值
	this.createSelectorQuery().select('#editorId').context((res)=> {
	    if(!res) return
		res.context.setContents({
		    html: this.textValue
		})							
	}).exec()
}

UniApp中editor标签使用v-model和:value赋值失效的解决方法_第4张图片

成功显示

UniApp中editor标签使用v-model和:value赋值失效的解决方法_第5张图片

APP端无法显示?

如果遇到H5端和微信小程序端都能赋值成功显示,而APP端无法赋值显示文本信息,则将原来的代码

editorReady(){
	//由于editor的v-model和:value失效,只能用dom来赋值
	this.createSelectorQuery().select('#editorId').context((res)=> {
	    if(!res) return
		res.context.setContents({
		    html: this.textValue
		})							
	}).exec()
}

改为以下代码即可
uni.createSelectorQuery()后加.in(this)可以防止app端出错

editorReady(){
	//由于editor的v-model和:value失效,只能用dom来赋值
	uni.createSelectorQuery().in(this).select('#editorId').context((res)=> {
	    if(!res) return
		res.context.setContents({
		    html: this.textValue
		})							
	}).exec()
},

你可能感兴趣的:(报错问题解决,uniapp学习笔记,uni-app,java,开发语言)