由于项目须要我本身研究了和集成在vue方便之后再使用,详情官方文档在这里。但愿你们有好的建议提出让我继续改进。html
Simditor 是团队协做工具 Tower 使用的富文本编辑器,基于jQuery开发。vue
相比传统的编辑器它的特色是:git
点击这里下载的压缩文件。你也能够经过bower或者npm安装simditor:github
$ npm install simditor
$ bower install simditor
这里主要讲的集成到vuejs,其余引入方式自行翻阅官网。npm
html模版以下:api
<textarea :id="textnames" > <p>{{value}}</p> </textarea>
咱们只须要他接收父组件的值和传值回父组件,因此不须要太复杂。浏览器
js模版以下:服务器
import Simditor from 'simditor' export default { props: ['value'], data() { return { textnames: new Date().getTime(),//这里防止多个富文本发生冲突 editor:'',//保存simditor对象 toolbar: ['bold', 'italic', 'underline', 'strikethrough', 'color', '|', 'ol', 'ul', 'blockquote', 'code', '|', 'link', 'image', '|', 'indent', 'outdent' ]//自定义工具栏 } }, ready() { this.createEditor() }, methods: { createEditor() { var _this = this this.editor = new Simditor({ textarea: $('#' + _this.namess), toolbar: _this.toolbar, upload: { url: apic + '/api/CommAnnex/UploadFiles', //文件上传的接口地址 // params: null, //键值对,指定文件上传接口的额外参数,上传的时候随文件一块儿提交 fileKey: 'fileDataFileName', //服务器端获取文件数据的参数名 connectionCount: 3,//同时上传个数 leaveConfirm: '正在上传文件' }, pasteImage: true,//是否容许粘贴上传图片,依赖 选项,仅支持 Firefox 和 Chrome 浏览器。 tabIndent: true,//是否在编辑器中使用 键来缩进 }); this.editor.on("valuechanged", function(e, src) { _this.value = _this.editor.getValue() })//valuechanged是simditor自带获取值得方法 } } }uploadtab
须要修改upload.js文件,找到下面代码编辑器
_this.trigger('uploadprogress', [file, file.size, file.size]);
_this.trigger('uploadsuccess', [file, newresult]); return $(document).trigger('uploadsuccess', [file, result, _this]);
修改成如下代码便可工具
var newresult = JSON.parse("{\"file_path\":\""+ result.Data[0].FileUrl +"\"}"); //获取正确地址_this.trigger('uploadprogress', [file, file.size, file.size]);
_this.trigger('uploadsuccess', [file, newresult]); return $(document).trigger('uploadsuccess', [file, newresult, _this]);
<simditor :value.sync='value' v-ref:simditor></simditor>
若是须要设置富文本框值就使用如下代码
this.$refs.simditor.editor.setValue(data.describe)
大概simditor组件就封装好了,本人新手纯手打若是有什么很差,请各位多多指导。