vue-froala-wysiwyg
froala官网
安装
npm install vue-froala-wysiwyg --save
在main.js全局配置
import 'froala-editor/css/froala_editor.pkgd.min.css'
import 'froala-editor/css/froala_style.min.css'
import 'froala-editor/js/froala_editor.pkgd.min.js'
import 'froala-editor/js/languages/zh_cn.js'
import 'froala-editor/js/plugins.pkgd.min.js'
import VueFroala from 'vue-froala-wysiwyg'
Vue.use(VueFroala)
froala.vue
<template>
<div id="app">
<froala id="edit"
:tag="'textarea'"
:config="froalaConfig"
v-model="froalaData"></froala>
</div>
</template>
<script>
export default {
name: 'froala',
data() {
return {
froalaData: '',
froalaConfig: {
//自定义工具栏
// toolbarButtons: [
// 'undo',
// 'redo',
// 'clearFormatting',
// 'bold',
// 'italic',
// 'underline',
// 'strikeThrough',
// 'fontFamily',
// 'fontSize',
// 'color',
// 'inlineStyle',
// 'paragraphFormat',
// 'align',
// 'formatOL',
// 'formatUL',
// 'outdent',
// 'indent',
// 'quote',
// 'insertLink',
// 'insertImage',
// 'insertVideo',
// 'embedly',
// 'insertFile',
// 'insertTable',
// 'emoticons',
// 'specialCharacters',
// 'insertHR',
// 'selectAll',
// 'print',
// 'spellChecker',
// 'html',
// 'help',
// 'fullscreen',
// ],
// theme: "dark",//主题
placeholderText: '请在此输入',
language: 'zh_cn', //语言
imageUploadURL: 'http://i.froala.com/upload', //上传url
imageUploadParams: { token: '', i: '', ak: '', f: 9 },
fileUploadURL: 'http://i.froala.com/upload',
fileUploadParams: { token: '', i: '', ak: '', f: 9 },
videoUploadURL: 'http://i.froala.com/upload',
videoUploadParams: { token: '', i: '', ak: '', f: 9 },
quickInsertButtons: ['image', 'video', 'table', 'ul', 'ol', 'hr'], //快速插入项
// toolbarVisibleWithoutSelection: true,//是否开启 不选中模式
// disableRightClick: true,//是否屏蔽右击
colorsHEXInput: true, //关闭16进制色值
toolbarSticky: false, //操作栏是否自动吸顶,
zIndex: 2501,
height: '400',
// autofocus: true,
events: {
initialized: function () {
console.log(1)
},
blur: () => {
console.log(123)
},
'image.beforeUpload': function (images) {
console.log(images)
return true
},
'file.beforeUpload': function () {
console.log(this.froalaData)
return true
},
'video.beforeUpload': function () {
console.log(this.froalaData)
return true
},
contentChanged: () => {},
},
},
}
},
methods: {},
}
</script>
<style>
.editor-wrap {
width: 900px;
}
.editor-wrap > div {
width: 100%;
}
.fr-wrapper > div[style*='z-index:9999;'],
.fr-wrapper > div[style*='z-index: 9999;'] {
height: 0;
overflow: hidden;
}
.fr-box .second-toolbar #logo {
width: 0 !important;
height: 0 !important;
overflow: hidden;
}
.fr-box .fr-toolbar {
border-radius: 4px 4px 0 0;
border-color: #dcdfe6;
}
.fr-box .second-toolbar {
border-radius: 0 0 4px 4px;
border-color: #dcdfe6;
}
.fr-box .fr-wrapper {
border-color: #dcdfe6 !important;
}
</style>
效果图
默认工具栏
自定义工具栏