vue 富文本编辑框_基于vue的富文本编辑器

vue 富文本编辑框_基于vue的富文本编辑器1、下载插件npmiwangeditor–save插件官网地址:https://www.wangeditor.com/2、封装富文本组件<templatelang=”html”><divclass=”editor”><!–<divref=”toolbar”class=”toolbar”></div>–><divref=”editor”class=”text”></div

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

Jetbrains全系列IDE稳定放心使用

1、下载插件

npm i wangeditor –save
插件官网地址:https://www.wangeditor.com/

2、封装富文本组件

<template lang="html">
  <div class="editor">
    <!-- <div ref="toolbar" class="toolbar"></div> -->
    <div ref="editor" class="text"></div>
  </div>
</template>

<script>
  import E from 'wangeditor'
  export default {
    name: 'editoritem',
    data() {
      return {
        // uploadPath,
        editor: null,
        info_: null
      }
    },
    model: {
      prop: 'value',
      event: 'change'
    },
    props: {
      value: {
        type: String,
        default: ''
      },
      isClear: {
        type: Boolean,
        default: false
      }
    },
    watch: {
      isClear(val) {
        // 触发清除文本域内容
        if (val) {
          this.editor.txt.clear()
          this.info_ = null
        }
      },
      value: function(value) {
        if (value !== this.editor.txt.html()) {
          this.editor.txt.html(this.value)
        }
      }
      //value为编辑框输入的内容,这里我监听了一下值,当父组件调用得时候,如果给value赋值了,子组件将会显示父组件赋给的值
    },
    mounted() {
      this.seteditor()
    },
    beforeDestroy() {
      // 调用销毁 API 对当前编辑器实例进行销毁
      this.editor.destroy()
      this.editor = null
    },
    methods: {
      seteditor() {
        this.editor = new E( this.$refs.editor)
        // this.editor.customConfig = this.editor.customConfig ? this.editor.customConfig : this.editor.config;
        // 配置 server 上传图片接口地址
        // this.editor.config.uploadImgServer = '/upload-img'
        this.editor.config.onchange = (html) => {
          this.info_ = html // 绑定当前值
          this.$emit('change', this.info_) // 将内容同步到父组件中
        }


        // 自定义 alert
        this.editor.config.customAlert = function (s, t) {
          switch (t) {
            case 'success':
              this.$Message.success(s)
              break
            case 'info':
              this.$Message.info(s)
              break
            case 'warning':
              this.$Message.warning(s)
              break
            case 'error':
              this.$Message.error(s)
              break
            default:
              this.$Message.info(s)
              break
          }
        }
        // 配置全屏功能按钮是否展示
       this.editor.config.showFullScreen = false

        // 创建富文本编辑器
        this.editor.create()
        this.editor.txt.html(this.value) // 重新设置编辑器内容
      }
    }
  }
</script>
<style lang="scss">
  .editor {
    width: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 0;
  }
  .toolbar {
    border: 1px solid #ccc;
  }
  .text {
    border: 1px solid #ccc;
     min-height: 200px;
    .w-e-text-container{
      height: 200px!important;
    }
    .w-e-text{
      min-height: 200px;
    }
  }
</style>

3、使用组件

<template>
  <div>
    <wangEnduit
      v-model="Content"
      :isClear="isClear"
      @change="change"
      :value="Content"
    />
  </div>
</template>

<script>
export default {
  components: {
    wangEnduit: () => import('@/components/wangEnduit/index'),
  },
  data(){
    return{
      Content:"",
      isClear: false,
    }
  },
  methods:{
      change(val) {
      console.log('val',val)
    },
  }
}
</script>

<style>

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

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

(0)
上一篇 2022年10月9日 下午3:46
下一篇 2022年10月9日 下午3:46


相关推荐

  • 英文高频词

    英文高频词(‘rods’,100)(‘carbohydrates’,100)(‘stresses’,100)(‘premiered’,100)(‘cyrus’,100)(‘drastically’,100)(‘eukaryotic’,100)(‘witchcraft’,100)(‘accompaniment’,100)(‘conventionally’,

    2022年7月26日
    22
  • c# savefiledialog_game是什么意思中文

    c# savefiledialog_game是什么意思中文1、这里通过一个例子来讲解saveFileDialog的使用方法,首先创建一个小的winform程序,然后在主界面中放入一个按钮、一个textbox,按钮用来弹出saveFileDialog,然后textbox用来接收saveFileDialog选择之后的文件路径,如下图:2、下图中的代码就是程序的全部代码了,对其中重要的代码进行解释:InitialDirectory方法:设置save…

    2026年4月13日
    6
  • 海康、大华IpCamera RTSP地址和格式

    海康、大华IpCamera RTSP地址和格式大家注意 我下面文章描述的都是海康老款摄像机的 RTSP 规则 现在新的 DS 系列 摄像机型号为 DS 开头的 的摄像机 RTSP 规则为 http blog csdn net xiejiashu article details 海康 rtsp username password ip port codec channel subtype av s

    2026年3月16日
    1
  • 贴片电阻阻值为5.1k_贴片电阻的规格和功率的关系

    贴片电阻阻值为5.1k_贴片电阻的规格和功率的关系2019独角兽企业重金招聘Python工程师标准>>>…

    2022年8月21日
    7
  • CPU核心数与线程数详解

    CPU核心数与线程数详解CPU CPU 就是中央处理单元 物理 CPU 数就是 CPU 的硬件个数 socket 核心 一开始 每个物理 cpu 上只有一个核心 asinglecore 对操作系统而言 也就是同一时刻只能运行一个进程 线程 为了提高性能 cpu 厂商开始在单个物理 cpu 上增加核心 实实在在的硬件存在 也就出现了双核心 cpu dual corecpu 以

    2026年3月19日
    2
  • Sublime Text 2 实用快捷键[Mac OS X]

    Sublime Text 2 实用快捷键[Mac OS X]

    2021年5月11日
    194

发表回复

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

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