vue富文本编辑器的使用_elementui富文本

vue富文本编辑器的使用_elementui富文本写好的富文本编辑器,附带功能齐全,复制即用!!!(Quill官方中文文档)一、安装二、注册1.在.main.js中注册富文本编辑器三、使用1.以下是写好的富文本编辑器,附带功能齐全(Quill官方中文文档)2.新建一个Editor文件夹,文件夹下创建一个index.vue文件,将此复制到vue文件里3.将Editor文件夹放入Vue项目的components组件包里方便其他页面直接引用富文本编辑器5.页面引入刚刚写好的富文本编辑器组件6.效果:………

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

一、安装

npm install quill --save

二、注册

1.在.main.js中注册富文本编辑器

Vue.use(VueEditor)

三、使用

1.以下是写好的富文本编辑器,附带功能齐全,复制即用!!!(Quill官方中文文档

2.新建一个Editor文件夹,文件夹下创建一个index.vue文件,将此复制到vue文件里

3.将Editor文件夹放入Vue项目的components组件包里方便其他页面直接引用富文本编辑器

<template>
  <div ref="editor" class="editor" :style="styles" />
</template>

<script>
import Quill from 'quill'
import 'quill/dist/quill.core.css'
import 'quill/dist/quill.snow.css'
import 'quill/dist/quill.bubble.css'

export default { 
   
  name: 'Editor',
  props: { 
   
    /* 编辑器的内容 */
    value: { 
   
      type: String,
      default: ''
    },
    /* 高度 */
    height: { 
   
      type: Number,
      default: null
    },
    /* 最小高度 */
    minHeight: { 
   
      type: Number,
      default: null
    }
  },
  data() { 
   
    return { 
   
      Quill: null,
      currentValue: '',
      options: { 
   
        theme: 'snow',
        bounds: document.body,
        debug: 'warn',
        modules: { 
   
          // 工具栏配置
          toolbar: [
            ['bold', 'italic', 'underline', 'strike'], // 加粗 斜体 下划线 删除线
            ['blockquote', 'code-block'], // 引用 代码块
            [{ 
    list: 'ordered' }, { 
    list: 'bullet' }], // 有序、无序列表
            [{ 
    indent: '-1' }, { 
    indent: '+1' }], // 缩进
            [{ 
    size: ['small', false, 'large', 'huge'] }], // 字体大小
            [{ 
    header: [1, 2, 3, 4, 5, 6, false] }], // 标题
            [{ 
    color: [] }, { 
    background: [] }], // 字体颜色、字体背景颜色
            [{ 
    align: [] }], // 对齐方式
            ['clean'], // 清除文本格式
            ['link', 'image', 'video'] // 链接、图片、视频
          ]
        },
        placeholder: '请输入内容',
        readOnly: false //只读模式 true
      }
    }
  },
  computed: { 
   
    styles() { 
   
      const style = { 
   }
      if (this.minHeight) { 
   
        style.minHeight = `${ 
     this.minHeight}px`
      }
      if (this.height) { 
   
        style.height = `${ 
     this.height}px`
      }
      return style
    }
  },
  watch: { 
   
    value: { 
   
      handler(val) { 
   
        if (val !== this.currentValue) { 
   
          this.currentValue = val === null ? '' : val
          if (this.Quill) { 
   
            this.Quill.pasteHTML(this.currentValue)
          }
        }
      },
      immediate: true
    }
  },
  mounted() { 
   
    this.init()
  },
  beforeDestroy() { 
   
    this.Quill = null
  },
  methods: { 
   
    init() { 
   
      const editor = this.$refs.editor
      this.Quill = new Quill(editor, this.options)
      this.Quill.pasteHTML(this.currentValue)
      this.Quill.on('text-change', (delta, oldDelta, source) => { 
   
        const html = this.$refs.editor.children[0].innerHTML
        const text = this.Quill.getText()
        const quill = this.Quill
        this.currentValue = html
        this.$emit('input', html)
        this.$emit('on-change', { 
    html, text, quill })
      })
      this.Quill.on('text-change', (delta, oldDelta, source) => { 
   
        this.$emit('on-text-change', delta, oldDelta, source)
      })
      this.Quill.on('selection-change', (range, oldRange, source) => { 
   
        this.$emit('on-selection-change', range, oldRange, source)
      })
      this.Quill.on('editor-change', (eventName, ...args) => { 
   
        this.$emit('on-editor-change', eventName, ...args)
      })
    }
  }
}
</script>

<style>
.editor, .ql-toolbar { 
   
  white-space: pre-wrap!important;
  line-height: normal !important;
}
.quill-img { 
   
  display: none;
}
.ql-snow .ql-tooltip[data-mode="link"]::before { 
   
  content: "请输入链接地址:";
}
.ql-snow .ql-tooltip.ql-editing a.ql-action::after { 
   
  border-right: 0;
  content: "保存";
  padding-right: 0;
}

.ql-snow .ql-tooltip[data-mode="video"]::before { 
   
  content: "请输入视频地址:";
}

.ql-snow .ql-picker.ql-size .ql-picker-label::before,
.ql-snow .ql-picker.ql-size .ql-picker-item::before { 
   
  content: "14px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]::before { 
   
  content: "10px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]::before { 
   
  content: "18px";
}
.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]::before,
.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]::before { 
   
  content: "32px";
}

.ql-snow .ql-picker.ql-header .ql-picker-label::before,
.ql-snow .ql-picker.ql-header .ql-picker-item::before { 
   
  content: "文本";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]::before { 
   
  content: "标题1";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]::before { 
   
  content: "标题2";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]::before { 
   
  content: "标题3";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]::before { 
   
  content: "标题4";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]::before { 
   
  content: "标题5";
}
.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]::before,
.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]::before { 
   
  content: "标题6";
}

.ql-snow .ql-picker.ql-font .ql-picker-label::before,
.ql-snow .ql-picker.ql-font .ql-picker-item::before { 
   
  content: "标准字体";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]::before { 
   
  content: "衬线字体";
}
.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]::before,
.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]::before { 
   
  content: "等宽字体";
}
</style>

在这里插入图片描述

4.页面中的使用

<el-row>
  <el-col :span="24">
    <el-form-item label="发布内容" prop="content">
<!--富文本编辑器 此处必须设置富文本编辑器高度-->
      <editor v-model="form.content" :min-height="192" />
    </el-form-item>
  </el-col>
</el-row>

5.页面引入刚刚写好的富文本编辑器组件

import Editor from '@/public/components/Editor';
  //加载私有组件
  components: { 
   
    Editor
  },

6.效果:

在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182069.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • opencv3编程入门_java基础与入门教程

    opencv3编程入门_java基础与入门教程——韦访 201810111、概述想学习图像处理,不管是机器学习也好,深度学习也好,不会点OpenCV好像有点说不过去吧?所以,现在开始OpenCV的学习。2、读写图片先从图片的读写开始,opencv读取图片的函数是imread,默认情况下,imread函数返回BGR格式的图像,可以用imwrite函数将数据写到本地。下面的代码会将JPG图片转成PNG。import…

    2022年10月3日
    2
  • Python 实现大整数乘法算法

    Python 实现大整数乘法算法我们平时接触的长乘法,按位相乘,是一种时间复杂度为O(n^2)的算法。今天,我们来介绍一种时间复杂度为O(n^log3)的大整数乘法(log表示以…

    2022年6月2日
    36
  • phy芯片测试寄存器_MII的PHY芯片上100M调试总结

    phy芯片测试寄存器_MII的PHY芯片上100M调试总结严重声明 本人以无野心搞其他 此篇是作为一名业余网络爱好者所学所遇所想 学习交流之用 与工作无关 亦没有他心 实为学习进程之步骤 无论学习还是工作都要认真对待 工作就是工作 爱好永远是爱好 泾渭分明了 首先要致谢 TreyParker 是他推荐的一篇帖子 解开了 3 个日夜来的困惑 最近在焊接 MII 的 PHY 芯片的时候总是满心欢喜的希望自己焊接完毕一 ping 就可以通了 但是万万没想到的是盼来了 time

    2025年7月11日
    4
  • nginx重启几种方法

    nginx重启几种方法

    2021年10月14日
    45
  • phpstorm激活码2021【2021最新】[通俗易懂]

    (phpstorm激活码2021)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
    54
  • 安装黑群晖找不到局域网电脑_黑群晖洗白太复杂?我用蒲公英P5轻松实现「建议收藏」

    安装黑群晖找不到局域网电脑_黑群晖洗白太复杂?我用蒲公英P5轻松实现「建议收藏」前言:随着网盘时代的结束,剩下的网盘供应商又开启了垄断方式,所以越来越多的小伙伴开始自己组自己的家庭NAS网络存储服务器。比如笔者的一个好基友就是如此。其实开始笔者是想让他直接一步到位,买群晖或者铁威马的NAS,在放入硬盘就可“一劳永逸”。然而,这个小伙伴看到了某鱼上有很多星际蜗牛这样的洋垃圾,所以搞了一台回来。付出了一顿小龙虾后,笔者帮其装好黑群晖后,不过依旧只能半洗白状态,刚好笔者有一个新玩具…

    2022年6月10日
    113

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号