• (转)富文本编辑器——Vue2Editor


    介绍

    Vue2Editor是一个简单易用且功能强大的Vue版本的富文本编辑器,其基于Quill.js和Vuejs构建!

     

                                    简单易用、功能强大的富文本编辑器——Vue2Editor

    Github

    https://github.com/davidroyer/vue2-editor

    特性

    • 简单易用;
    • 基于Vue.js & Quill.js构建;
    • 为更复杂的场景提供自定义的选项

    安装使用

    第一种方式就是使用cdn或者

    1. npm install vue2-editor
    2. #或者使用
    3. yarn add vue2-editor

    有两种方法可以设置和使用Vue2Editor。可以将其全局设置为Vue插件,也可以导入VueEditor组件以在本地注册并使用它。两种方法的例子如下

    1. import Vue from "vue";
    2. import Vue2Editor from "vue2-editor";
    3. Vue.use(Vue2Editor);

    1. // 基本用途-涵盖大多数情况
    2. import { VueEditor } from "vue2-editor";
    3. // 高级使用-HookQuill的API定制功能
    4. import { VueEditor, Quill } from "vue2-editor";

    基本案例

    • 基本用法

    1. <script>
    2. import { VueEditor } from "vue2-editor";
    3. export default {
    4. components: { VueEditor },
    5. data: () => ({
    6. content: "

      Some initial content

      "
    7. })
    8. };
    9. script>
    • 自定义图像处理程序

    如果选择使用自定义图像处理程序,则在选择照片时会发出一个事件。可以看到下面传递了3个参数。

    1. 它传递要处理的文件
    2. 编辑器实例
    3. 上传时的光标位置,以便成功时可以将图像插入到正确的位置

    1. <script>
    2. import { VueEditor } from "vue2-editor";
    3. import axios from "axios";
    4. export default {
    5. components: {
    6. VueEditor
    7. },
    8. data() {
    9. return {
    10. htmlForEditor: ""
    11. };
    12. },
    13. methods: {
    14. handleImageAdded: function(file, Editor, cursorLocation, resetUploader) {
    15. // An example of using FormData
    16. // NOTE: Your key could be different such as:
    17. // formData.append('file', file)
    18. var formData = new FormData();
    19. formData.append("image", file);
    20. axios({
    21. url: "https://fakeapi.yoursite.com/images",
    22. method: "POST",
    23. data: formData
    24. })
    25. .then(result => {
    26. let url = result.data.url; // Get url from response
    27. Editor.insertEmbed(cursorLocation, "image", url);
    28. resetUploader();
    29. })
    30. .catch(err => {
    31. console.log(err);
    32. });
    33. }
    34. }
    35. };
    36. script>
    • 页面加载后设置内容

    1. <script>
    2. import { VueEditor } from "vue2-editor";
    3. export default {
    4. components: { VueEditor },
    5. data: () => ({
    6. content: null
    7. }),
    8. methods: {
    9. setEditorContent() {
    10. this.content = "

      Html For Editor

      "
      ;
    11. }
    12. }
    13. };
    14. script>
    • 使用多个编辑器

    1. <script>
    2. import { VueEditor } from "vue2-editor";
    3. export default {
    4. components: {
    5. VueEditor
    6. },
    7. data() {
    8. return {
    9. editor1Content: "

      Editor 1 Starting Content

      "
      ,
    10. editor2Content: "

      Editor 2 Starting Content

      "
    11. };
    12. }
    13. };
    14. script>
    15. <style>
    16. #editor1,
    17. #editor2 {
    18. height: 350px;
    19. }
    20. style>
    • 自定义工具栏

    1. <script>
    2. import { VueEditor } from "vue2-editor";
    3. export default {
    4. components: { VueEditor },
    5. data: () => ({
    6. content: "

      Html For Editor

      "
      ,
    7. customToolbar: [
    8. ["bold", "italic", "underline"],
    9. [{ list: "ordered" }, { list: "bullet" }],
    10. ["image", "code-block"]
    11. ]
    12. })
    13. };
    14. script>
    • 保存内容

    1. <script>
    2. import { VueEditor } from "vue2-editor";
    3. export default {
    4. components: { VueEditor },
    5. data: () => ({
    6. content: "

      Html For Editor

      "
      ,
    7. customToolbar: [
    8. ["bold", "italic", "underline"],
    9. [{ list: "ordered" }, { list: "bullet" }],
    10. ["image", "code-block"]
    11. ]
    12. })
    13. };
    14. script>
    • 使用实时预览

    1. <script>
    2. import { VueEditor } from "vue2-editor";
    3. export default {
    4. components: { VueEditor },
    5. data: () => ({
    6. content: "

      Some initial content

      "
    7. })
    8. };
    9. script>

    总结

    Vue2Editor是一个简单易用的富文本编辑器,如果没有复杂的需求,你可以毫无保留的使用它,如果你需要复杂的功能,也可以使用其自定义能力进行自定义扩展!




    链接:https://www.jianshu.com/p/424556c68cd6

  • 相关阅读:
    代码随想录刷题记录 4 - 字符串
    使tkinter开发GUI程序2 -- 窗口组件配置管理Layout Management
    SK 简化流行编程语言对 生成式AI 应用开发的支持
    selectTree单选iview+vue
    【网络安全 --- Burp Suite抓包工具】学网安必不可少的Burp Suite工具的安装及配置
    leetcode做题笔记134. 加油站
    Mac M1使用UTM安装centos7 x86_64虚拟机
    Jetpack Compose 性能优化的几条建议
    Compose的一些小Tips - 可组合项的绘制
    通信带宽对比
  • 原文地址:https://blog.csdn.net/caseywei/article/details/133809746