vue-html5-editor 富文本的使用

与其庸人自扰,不如看淡点好。

在安装好脚手架的依赖后,要执行 npm install vue-html5-editor -S 来安装这个富文本插件

由于这个富文本插件的图标是依赖font-awesome.css的,所以要npm install font-awesome --save安装这个css然后在main.js中引入这个css import 'font-awesome/css/font-awesome.min.css'

在这里插入图片描述

然后按照文档将其注册


import VueHtml5Editor from 'vue-html5-editor'

// import initRichText from './common/initHTMLEditor.js'
import 'font-awesome/css/font-awesome.min.css'

  let opt = {
    // 全局组件名称,使用new VueHtml5Editor(options)时该选项无效
    name: "vue-html5-editor",
    // 是否显示模块名称,开启的话会在工具栏的图标后台直接显示名称
    showModuleName: true,
    // 自定义各个图标的class,默认使用的是font-awesome提供的图标
    icons: {
      text: "fa fa-pencil",
      color: "fa fa-paint-brush",
      font: "fa fa-font",
      align: "fa fa-align-justify",
      list: "fa fa-list",
      link: "fa fa-chain",
      unlink: "fa fa-chain-broken",
      tabulation: "fa fa-table",
      image: "fa fa-file-image-o",
      hr: "fa fa-minus",
      eraser: "fa fa-eraser",
      undo: "fa-undo fa",
      "full-screen": "fa fa-arrows-alt",
      info: "fa fa-info",
    },
    // 配置图片模块
    image: {
      // 文件最大体积,单位字节  
      sizeLimit: 512 * 1024 * 10,
      // 上传参数,默认把图片转为base64而不上传
      // upload config,default null and convert image to base64
      upload: {
        // url: 'https://test.xiujianshen.com/media/upload',
        url: '/media/upload',
        headers: {
          'Authorization': '6e1e2d1b88f446c7bea9785febec1c6b-fa06ec7a7065ce25408d85f54d67d6acc93ec390'
        },
        params: {
            prefix: 'coursesuggestImg', // 阿里云额外参数
        },
        fieldName: 'file'
      },
      // 压缩参数,默认使用localResizeIMG进行压缩,设置为null禁止压缩
      // width和height是文件的最大宽高
      compress: {
        width: 300,
        height: null,
        quality: 80
      },
      // 响应数据处理,最终返回图片链接
      uploadHandler(responseText){
        console.log(JSON.parse(responseText));
        
//      default accept json data like  {ok:false,msg:"unexpected"} or {ok:true,data:"image url"}
        var json = JSON.parse(responseText);
        if(json.code == 0){
            return json.data;
        }else{
            alert(json.message)
        }
      }
    },
    // 语言,内建的有英文(en-us)和中文(zh-cn)
    language: "zh-cn",
    // 自定义语言
    i18n: {
      "zh-cn": {
        "align": "对齐方式",
        "image": "图片",
        "list": "列表",
        "link": "链接",
        "unlink": "去除链接",
        "table": "表格",
        "font": "文字",
        "full screen": "全屏",
        "text": "排版",
        "eraser": "格式清除",
        "info": "关于",
        "color": "颜色",
        "please enter a url": "请输入地址",
        "create link": "创建链接",
        "bold": "加粗",
        "italic": "倾斜",
        "underline": "下划线",
        "strike through": "删除线",
        "subscript": "上标",
        "superscript": "下标",
        "heading": "标题",
        "font name": "字体",
        "font size": "文字大小",
        "left justify": "左对齐",
        "center justify": "居中",
        "right justify": "右对齐",
        "ordered list": "有序列表",
        "unordered list": "无序列表",
        "fore color": "前景色",
        "background color": "背景色",
        "row count": "行数",
        "column count": "列数",
        "save": "确定",
        "upload": "上传",
        "progress": "进度",
        "unknown": "未知",
        "please wait": "请稍等",
        "error": "错误",
        "abort": "中断",
        "reset": "重置"
      }
    },
    // 隐藏不想要显示出来的模块
    hiddenModules: [],
    // 自定义要显示的模块,并控制顺序
    visibleModules: [
//    "text",
//    "color",
      "font",
      "align",
//    "list",
//    "link",
//    "unlink",
//    "tabulation",
      "image",
//    "hr",
//    "eraser",
      "undo",
//    "full-screen",
//    "info",
    ],
    // 扩展模块,具体可以参考examples或查看源码
    // extended modules
    modules: {
      //omit,reference to source code of build-in modules
    }
  };
Vue.use(VueHtml5Editor, opt);

然后这样使用

<template>
    <div class="coursesuggest">
        <div class="addBtn" @click="addBtn">保存</div>
        
        <vue-html5-editor :content="text" :height="400" placeholder="选填,可上传图片" @change="updateData"></vue-html5-editor>
    </div>
</template>

我将其样式修改了 所以我的代码我是这个样子的 将我的所有代码进行附上

<template>
    <div class="coursesuggest">
        <div class="addBtn" @click="addBtn">[外链图片转存失败(img-L1zB4yuW-1562156712780)(https://mp.csdn.net/assets/img/hold@2x.png)] 保存</div>
        [外链图片转存失败(img-XKLbQf6l-1562156712791)(https://mp.csdn.net/assets/img/pictureBox@2x.png)]
        <vue-html5-editor :content="text" :height="400" placeholder="选填,可上传图片" @change="updateData"></vue-html5-editor>
    </div>
</template>

<script>
    import { Toast } from 'mint-ui';
    export default {
        data() {
            return {
                text: '', 
                courseId: undefined,
            }
        },
        methods: {
            updateData(e) {
                this.text = e;
            },
            
        },
    }
</script>

<style lang="less" scoped>
    .coursesuggest {
        height: 100%;

        /deep/ .vue-html5-editor {
            height: 100%;
        }
        /deep/ .toolbar {
            position: fixed;
            left: 0;
            top: 0;
            width: 100%;
            background-color: rgb(241, 241, 243);
            ul{
                width: 50%;
                display: flex;
                align-items: center;
                justify-content: center;
                &>li:nth-child(1) {
                    display: none;
                }
                &>li:nth-child(2) {
                    display: none;
                }
                &>li:nth-child(4) {
                    display: none;
                }
            }
        }
        /deep/ .vue-html5-editor>.content {
            padding-top: 0.8rem;
        }
        /deep/ .fa-file-image-o:before {
            display: none;
        }
        .addBtn {
            position: fixed;
            right: 0;
            top: 0;
            width: 50%;
            z-index: 10000;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 14px;
            height: 37px;
            line-height: 37px;
            border-bottom: 1px solid #ddd;
            img {
                height: 16px;
                width: 16px;
                vertical-align: middle;
                margin-right: 5px;
            }
        }
        .pictureBox {
            position: fixed;
            left: 1.4rem;
            top: .18rem;
            z-index: 10000;
            height: 16px;
            width: 16px;
            vertical-align: middle;
        }
    }
</style>

相信你看完会有所收获
在最后附上我的QQ: 2489757828 有问题的话可以找我一同探讨
我的私人博客: 李大玄

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,402评论 6 499
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,377评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,483评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,165评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,176评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,146评论 1 297
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,032评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,896评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,311评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,536评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,696评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,413评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,008评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,659评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,815评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,698评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,592评论 2 353

推荐阅读更多精彩内容

  • 先上成品图 🙏🙏🙏🙏🙏🙏代码贴在最下面,方便大家复制。🙏🙏🙏🙏🙏🙏 补充:记得 把 富文本编辑器的版本改成2.9....
    风中凌乱的男子阅读 28,868评论 67 33
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 2,080评论 0 2
  • 没别的想写的 只想告诉自己: 遇到选择,犹豫不决时,不要被外在的声音所左右。即使整个世界都在对你施压,你要做的不是...
    沈大牛阅读 515评论 0 50
  • 昨天的我已经过去了,今天的我只会更好。我一直都这么想,现实却不是这样的。 小时候我不会计较得失,不会抱怨生...
    poweril阅读 206评论 0 0
  • 我想轰轰烈烈爱一场, 和我喜欢的人, 走过千山万水。 相偎相依, 这样我就可以摆脱孤独, 摆脱冷,摆脱噩梦的纠缠。...
    糜情阅读 155评论 0 1