101 lines
4.4 KiB
Markdown
101 lines
4.4 KiB
Markdown
### piaoyiEditor 富文本编辑器
|
||
|
||
**使用方法:**
|
||
|
||
```
|
||
<template>
|
||
<view class="richtext">
|
||
<piaoyiEditor :values="values" :maxlength="3000" @changes="saveContens" :readOnly="readOnly" :photoUrl="photoUrl" :api="api" :name="name"/>
|
||
<view class="">
|
||
{{txt}}
|
||
</view>
|
||
</view>
|
||
</template>
|
||
|
||
<script>
|
||
import piaoyiEditor from '@/uni_modules/piaoyi-editor/components/piaoyi-editor/piaoyi-editor.vue';
|
||
export default {
|
||
data() {
|
||
return {
|
||
readOnly: false, //是否只读
|
||
photoUrl: 'http://test.com', //服务器图片域名或者ip
|
||
api: '/upload', //上传图片接口地址
|
||
txt: '',
|
||
name: 'file',
|
||
values: '<div>11111222</div>'
|
||
};
|
||
},
|
||
components: {
|
||
piaoyiEditor
|
||
},
|
||
methods: {
|
||
saveContens(e) {
|
||
this.txt = e.html
|
||
}
|
||
},
|
||
onShareAppMessage(res) {
|
||
if (res.from === 'button') { // 来自页面内分享按钮
|
||
console.log(res.target)
|
||
}
|
||
return {
|
||
title: '多功能富文本编辑器!',
|
||
path: '/pages/editor/editor'
|
||
}
|
||
},
|
||
onShareTimeline(res) {
|
||
if (res.from === 'button') { // 来自页面内分享按钮
|
||
console.log(res.target)
|
||
}
|
||
return {
|
||
title: '多功能富文本编辑器!'
|
||
}
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style lang="scss">
|
||
|
||
</style>
|
||
|
||
```
|
||
|
||
#### 事件说明
|
||
|
||
1、**使用上传图片功能时需要注意查看代码里面的uni.uploadFile方法,因为它的返回值取决于自己后端接口的值,所以可以根据实际情况就行更改即可**
|
||
|
||
| 事件名 | 返回值 | 描述 |
|
||
| :---------: | :----: | :------------: |
|
||
| @saveContens | {html: html片段, length: html长度} | 文本框内容回调 |
|
||
|
||
#### Prop
|
||
|
||
| 参数名称 | 默认值 | 描述 |
|
||
| -------- | ------------------------------ |
|
||
| maxlength| 300 | 输入最大长度 |
|
||
| readOnly | false | 是否只读 |
|
||
| api | 空 | 上传图片接口地址 |
|
||
| photoUrl | 空 | 服务器图片域名或者ip |
|
||
| name | 'file' | 上传图片接口的key |
|
||
| values | '' | 富文本编辑器默认值 |
|
||
|
||
### 注:近期收到使用用户反馈,存在以下四个问题(如有好的建议,期待私信,谢谢)
|
||
|
||
1、当组件在页面中部或者底部的时候,进入页面,页面会自动滚动到富文本编辑器的区域
|
||
属于正常现象;
|
||
官网文档有这么一句话:编辑器聚焦时页面会被上推,系统行为以保证编辑区可见;
|
||
作者建议这种情况,进入页面初始设置富文本编辑器为只读,然后页面滚动到一定距离的时候取消这个只读;
|
||
|
||
2、组件粘贴文字出现软键盘闪烁,导致文字粘贴不了
|
||
目前暂未发现解决方法,本插件是在官方的editor基础上开发的,这个组件存在这个问题;
|
||
经测试长按出现粘贴后,手不松开滑动到粘贴字样上就不会出现闪烁,然后松开手,点击粘贴就可以;
|
||
|
||
3、有些上传图片接口是需要token的,接口需要token的话可以在组件内搜索uni.uploadFile,加上headers头部参数
|
||
|
||
4、H5有时候会出现插件异常情况,不要慌,查看[editor组件官网](https://uniapp.dcloud.net.cn/component/editor.html)官网下的注意事项(原话是:H5 端需要动态引入 quill.min.js、image-resize.min.js 依赖,默认情况下浏览器会从 unpkg.com 加载。如果依赖加载较慢或失败,uni-app 建议使用通过测试的 js 依赖保证效果一致,访问 github.com 或者 gitee.com 选择下载。可以放入 static 目录进行托管,或者使用 CDN 服务商。为了保证服务的稳定性,推荐开发者将所有前端资源使用 uniCloud 前端网页托管 服务进行托管,然后在 自定义模板 的 head 标签内引入相关 js 依赖。)
|
||
|
||
(1)上面H5这种情况我推荐一种方法进行测试:把所需要的静态资源下载到本地,在APP.vue里面的onLunch下进行dom操作插入这些静态资源
|
||
(2)使用官方提供的自定义模板(hx新建项目的Hello uni-app模板里面有示例):使用官方的自定义模板引入静态资源,亲测引入静态资源成功了(即引入js和css都是本地的静态资源,不再请求远程CDN文件),但是原来页面样式全丢失了,目前还没有找到问题所在没有成功的朋友欢迎加群交流一下,谢谢
|
||
|
||
### 可接定制化组件开发
|
||
### 右侧有本人代表作小程序二维码,可以扫码体验
|
||
### 如使用过程中有问题或有一些好的建议,欢迎加QQ群互相学习交流:120594820 |