介绍
Vue2Editor是一个简单易用且功能强大的Vue版本的富文本编辑器,其基于Quill.js和Vuejs构建!
Github
https://github.com/davidroyer/vue2-editor
特性
- 简单易用;
- 基于Vue.js & Quill.js构建;
- 为更复杂的场景提供自定义的选项
安装使用
第一种方式就是使用cdn或者
npm install vue2-editor
#或者使用
yarn add vue2-editor
有两种方法可以设置和使用Vue2Editor。可以将其全局设置为Vue插件,也可以导入VueEditor组件以在本地注册并使用它。两种方法的例子如下
import Vue from "vue";
import Vue2Editor from "vue2-editor";
Vue.use(Vue2Editor);
// 基本用途-涵盖大多数情况
import { VueEditor } from "vue2-editor";
// 高级使用-HookQuill的API定制功能
import { VueEditor, Quill } from "vue2-editor";
基本案例
- 基本用法
<template>
<vue-editor v-model="content" />
template>
<script>
import { VueEditor } from "vue2-editor";
export default {
components: { VueEditor },
data: () => ({
content: "
Some initial content
"
})
};
script>
- 自定义图像处理程序
如果选择使用自定义图像处理程序,则在选择照片时会发出一个事件。可以看到下面传递了3个参数。
- 它传递要处理的文件
- 编辑器实例
- 上传时的光标位置,以便成功时可以将图像插入到正确的位置
<template>
<div id="app">
<vue-editor id="editor" useCustomImageHandler @imageAdded="handleImageAdded" v-model="htmlForEditor"> vue-editor>
div>
template>
<script>
import { VueEditor } from "vue2-editor";
import axios from "axios";
export default {
components: {
VueEditor
},
data() {
return {
htmlForEditor: ""
};
},
methods: {
handleImageAdded: function(file, Editor, cursorLocation, resetUploader) {
// An example of using FormData
// NOTE: Your key could be different such as:
// formData.append(\'file\', file)
var formData = new FormData();
formData.append("image", file);
axios({
url: "https://fakeapi.yoursite.com/images",
method: "POST",
data: formData
})
.then(result => {
let url = result.data.url; // Get url from response
Editor.insertEmbed(cursorLocation, "image", url);
resetUploader();
})
.catch(err => {
console.log(err);
});
}
}
};
script>
- 页面加载后设置内容
<template>
<div>
<button @click="setEditorContent">Set Editor Contentbutton>
<vue-editor v-model="content" />
div>
template>
<script>
import { VueEditor } from "vue2-editor";
export default {
components: { VueEditor },
data: () => ({
content: null
}),
methods: {
setEditorContent() {
this.content = "
Html For Editor
";
}
}
};
script>
- 使用多个编辑器
<template>
<div id="app">
<vue-editor id="editor1" v-model="editor1Content">vue-editor>
<vue-editor id="editor2" v-model="editor2Content">vue-editor>
div>
template>
<script>
import { VueEditor } from "vue2-editor";
export default {
components: {
VueEditor
},
data() {
return {
editor1Content: "
Editor 1 Starting Content
",
editor2Content: "
Editor 2 Starting Content
"
};
}
};
script>
<style>
#editor1,
#editor2 {
height: 350px;
}
style>
- 自定义工具栏
<template>
<vue-editor v-model="content" :editor-toolbar="customToolbar" />
template>
<script>
import { VueEditor } from "vue2-editor";
export default {
components: { VueEditor },
data: () => ({
content: "
Html For Editor
",
customToolbar: [
["bold", "italic", "underline"],
[{ list: "ordered" }, { list: "bullet" }],
["image", "code-block"]
]
})
};
script>
- 保存内容
<template>
<vue-editor v-model="content" :editor-toolbar="customToolbar" />
template>
<script>
import { VueEditor } from "vue2-editor";
export default {
components: { VueEditor },
data: () => ({
content: "
Html For Editor
",
customToolbar: [
["bold", "italic", "underline"],
[{ list: "ordered" }, { list: "bullet" }],
["image", "code-block"]
]
})
};
script>
- 使用实时预览
<template>
<div>
<vue-editor v-model="content" />
<div>{{ content }}div>
div>
template>
<script>
import { VueEditor } from "vue2-editor";
export default {
components: { VueEditor },
data: () => ({
content: "
Some initial content
"
})
};
script>
总结
Vue2Editor是一个简单易用的富文本编辑器,如果没有复杂的需求,你可以毫无保留的使用它,如果你需要复杂的功能,也可以使用其自定义能力进行自定义扩展!
内容出处:,
声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.com/share/17833.html