更新记录

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,不同的版本可能会造成不兼容的问题。

注意
  1. 组件内部有键盘高度监听,所以在一个页面尽量不要出现两个富文本编辑
  2. 图片上传还没有匹配好后期会更新
  3. 由于uni原生富文本身的兼容性问题,一些端是无法兼容的

使用方式

  1. 将此组件进入你的项目中的 /components/ 目录中
  2. 在某个页面中使用该插件
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 接受一个参数为图片路径字符串,会将该图片插入到当前光标所在位置

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问