更新记录
1.0.2(2022-06-28) 下载此版本
增加插入图片功能,icons文件补充
1.0.1(2022-04-11) 下载此版本
引入minxin文件,文件不存在问题修改。
1.0.0(2022-04-04) 下载此版本
1.0.0版本,功能上面已经说明
查看更多平台兼容性
Vue2 | Vue3 |
---|---|
√ | × |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
HBuilderX 3.2.16 app-vue | × | √ | × | × | × | × |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 |
---|---|---|---|
× | × | × | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
× | × | × | × | × | × | × | × | × |
兼容性说明
这是一个uni-app的通用组件,兼容微信小程序端、安卓端、ios端、H5端(未测试)。其他端测试无问题,nvue不支持.
app(vue) | 微信小程序 |
---|---|
✓ | ✓ |
我的HbuilderX版本3.3.13,不同的版本可能会造成不兼容的问题。
注意
- 组件内部有键盘高度监听,所以在一个页面尽量不要出现两个富文本编辑
- 图片上传还没有匹配好后期会更新
- 由于uni原生富文本身的兼容性问题,一些端是无法兼容的
使用方式
- 将此组件进入你的项目中的 /components/ 目录中
- 在某个页面中使用该插件
ps: 注意组件倒入后将edit_icon文件夹移动到static目录下
在 script 中引用组件
import knEdit from '@/components/lf-kn-editor/kn_editor.vue'
export default {
components: {knEdit},
data() {
return {
content: '',
pageScrollTop: 0
}
},
onLoad() {
},
methods: {
},
onPageScroll(e) {
console.log(e)
this.pageScrollTop = e.scrollTop
}
}
在 template 中使用组件
<kn-edit ref="contentEdit" :pageScrollTop="pageScrollTop" v-model="content"></kn-edit>
插入图片,
可以使用选择图片事件选择图片触发uploadImgBefore
,后执行上传逻辑拿到上传后的图片路径执行refs方法insertImage
传入路径实现图片插入
也可自行编写选择图片逻辑后拿到图片地址,执行refs方法insertImage
传入路径实现图片插入
<template>
<kn-edit ref="contentEdit" showInsertImg @uploadImgBefore="uploadImgBefore" :pageScrollTop="pageScrollTop" v-model="content"></kn-edit>
</template>
<script>
export default {
components: {knEdit},
data() {
return {
content: '',
pageScrollTop: 0
}
},
onLoad() {
},
methods: {
uploadImgBefore(tempFiles) {
// 你的上传逻辑。。。
// 拿到地址后
let paht = 'httpxxxxxxxx'
this.$refs.contentEdit.insertImage(path)
}
},
onPageScroll(e) {
console.log(e)
this.pageScrollTop = e.scrollTop
}
}
</script>
参数
属性 | 类型 | 默认值 | 说明 |
---|---|---|---|
readOnly | Boolean | false | 是否是只读模式 |
value | String | '' | 组件为v-model模式调用,不需要传此参数 |
iosScroll | Boolean | false | 该参数为false时操作条是跟着键盘高度,为true时控制条出现在输入框内 |
pageScrollTop | Number | 0 | 由于 ios 键盘弹出后会上推屏幕, 所以要把页面滚动计算进去 |
showInsertImg | Boolean | true | 是否显示选择图片按钮 |
事件
属性 | 接受参数 | 触发 | |
---|---|---|---|
uploadImgBefore | tempFiles 选中的图片对象 | 当点击输入框下方的图片icon时触发 |
ref方法
属性 | 说明 |
---|---|
setContents | v-model在一些情况下由于延迟等问题,预设内容可能无法设置上,使用该方法设置原始值 |
insertImage | 接受一个参数为图片路径字符串,会将该图片插入到当前光标所在位置 |