欧美一级视-欧美一级视频高清片-欧美一级视频免费-欧美一级视频免费观看-午夜激情视频在线播放-午夜激情视频在线观看

咨詢電話:
15628812133
21
2023/06

Vue——wangEditor子組件

發(fā)布時(shí)間:2023-06-21 10:13:36
發(fā)布者:MaiMai
瀏覽量:
0

上一篇我們已經(jīng)創(chuàng)建了wangEdit.vue子組件,在里面編譯如下:

dom結(jié)構(gòu)中需要引入工具欄和編輯器兩部分,如圖所示:

1687313982446.png

代碼部分:

<script>

import store from '@/store'

import {Editor, Toolbar} from '@wangeditor/editor-for-vue'


import { DomEditor } from '@wangeditor/editor'



export default {

  name: 'wangEditor',

  components: {Editor, Toolbar},

  props: [

    'editorParams'

  ],

  data() {

    return {

      // 富文本編輯器對象

      editor: null,

      // 富文本內(nèi)容

      content: null,

      // 富文本占位內(nèi)容

      placeholder: null,

      // 富文本上傳圖片的地址

      uploadImageUrl: null,

      // 富文本最小高度

      height: '300px',

      // 富文本是否禁用

      isDisabled: false,

      // 工具欄配置

      toolbarConfig: {

        // 顯示指定的菜單項(xiàng)

        // toolbarKeys: [],

        // 隱藏指定的菜單項(xiàng)

        excludeKeys: [

          // 隱藏全屏按鈕

          "fullScreen"

        ],

      },

      // 編輯器配置

      editorConfig: {

        placeholder: '請輸入內(nèi)容......',

        MENU_CONF: ['uploadImage']

      }

    }

  },

  watch: {

    /**

     * 深度監(jiān)聽富文本參數(shù)

     */

    'editorParams': {

      handler: function (newVal, oldVal) {

        if (newVal != null) {

          this.content = newVal.content

          this.editorConfig.placeholder = this.placeholder

          this.uploadImageUrl = newVal.uploadImageUrl

          this.setUploadImageConfig()

          this.height = newVal.height

          this.isDisabled = newVal.isDisabled

        }

      },

      immediate: true,

      deep: true

    }

  },

  methods: {

    /**

     * 實(shí)例化富文本編輯器

     */

    onCreated(editor) {

      this.editor = Object.seal(editor)

      this.setIsDisabled()

    },

    /**

     * 監(jiān)聽富文本編輯器

     */

    onChange(editor) {

      // console.log('onChange =>', editor.getHtml())

    },

    /**

     * this.editor.getConfig().spellcheck = false

     * 由于在配置中關(guān)閉拼寫檢查,值雖然設(shè)置成功,但是依然顯示紅色波浪線

     * 因此在富文本編輯器組件掛載完成后,操作 Dom 元素設(shè)置拼寫檢查 spellcheck 為假

     */

    async setSpellCheckFasle() {

      let doms = await document.getElementsByClassName('w-e-scroll')

      for (let vo of doms) {

        if (vo) {

          if (vo.children.length > 0) {

            vo.children[0].setAttribute('spellcheck', 'false')

          }

        }

      }

    },

    /**

     * 設(shè)置富文本是否禁用

     */

    async setIsDisabled() {

      if (this.editor) {

        this.isDisabled ? (this.editor.disable()) : (this.editor.enable())

      }

    },

    /**

     * 上傳圖片配置

     */

    setUploadImageConfig() {

      this.editorConfig.placeholder = this.placeholder

      this.editorConfig.MENU_CONF['uploadImage'] = {

        fieldName: 'file', // 文件字段名(后端需要對應(yīng)的字段), 默認(rèn)值 'wangeditor-uploaded-image'

        maxFileSize: 6 * 1024 * 1024, // 單個(gè)文件的最大體積限制,默認(rèn)為 2M,此次設(shè)置為 6M

        maxNumberOfFiles: 30, // 最多可上傳幾個(gè)文件,默認(rèn)為 100

        allowedFileTypes: ['image/*'], // 選擇文件時(shí)的類型限制,默認(rèn)為 ['image/*'] ,若不想限制,則設(shè)置為 []

        meta: {// 自定義上傳參數(shù),例如傳遞驗(yàn)證的 token 等,參數(shù)會(huì)被添加到 formData 中,一起上傳到服務(wù)端

          'TENANT-ID': store.getters.userInfo.tenantId,

          Authorization: 'Bearer ' + store.getters.access_token

        },

        metaWithUrl: false, // 將 meta 拼接到 URL 參數(shù)中,默認(rèn) false

        headers: {// 設(shè)置 HTTP 請求頭信息

          'TENANT-ID': store.getters.userInfo.tenantId,

          Authorization: 'Bearer ' + store.getters.access_token

        },

        server: this.uploadImageUrl, // 上傳圖片接口地址

        withCredentials: false, // 跨域是否傳遞 cookie ,默認(rèn)為 false

        timeout: 5 * 1000, // 超時(shí)時(shí)間,默認(rèn)為 10 秒,此次設(shè)置為 5 秒

        // 自定義插入圖片

        customInsert(res, insertFn) {

          // 因?yàn)樽远x插入導(dǎo)致onSuccess與onFailed回調(diào)函數(shù)不起作用,自己手動(dòng)處理

          // 注意此處將返回的文件路徑拼接出來放入,注意應(yīng)該是完整地址,res為上傳后接口返回的數(shù)據(jù)

          let file_url = '';

          insertFn(file_url, res.data.fileName, file_url);

        },

        // 上傳之前觸發(fā)

        onBeforeUpload(file) {

          return file

        },

        // 上傳進(jìn)度的回調(diào)函數(shù)

        onProgress(progress) {

          console.log('progress', progress)

        },

        // 單個(gè)文件上傳成功之后

        onSuccess(file, res) {

          console.log(`${file.name} 上傳成功`, res)

        },

        // 單個(gè)文件上傳失敗

        onFailed(file, res) {

          console.log(`${file.name} 上傳失敗`, res)

        },

        // 上傳錯(cuò)誤,或者觸發(fā) timeout 超時(shí)

        onError(file, err, res) {

          console.log(`${file.name} 上傳出錯(cuò)`, err, res)

        }

      }

    },

    /**

     * 獲取編輯器文本內(nèi)容

     */

    getEditorText() {

      const editor = this.editor

      if (editor != null) {

        return editor.getText()

      }

    },

    /**

     * 獲取編輯器Html內(nèi)容

     */

    getEditorHtml() {

      const editor = this.editor

      // 下方三行用來獲取編輯器工具欄分組

      // const toolbar = DomEditor.getToolbar(this.editor)

      // const curToolbarConfig = toolbar.getConfig()

      // console.log( curToolbarConfig.toolbarKeys )

      if (editor != null) {

        return editor.getHtml()

      }

    },

    /**

     * 填充編輯器Html內(nèi)容

     */

    setEditorHtml(html) {

      const editor = this.editor

      if (editor != null) {

        editor.setHtml(html)

      }

    }

  },

  created() {


  },

  mounted() {

    this.setSpellCheckFasle() // 設(shè)置拼寫檢查 spellcheck 為假

    document.activeElement.blur() // 取消富文本自動(dòng)聚焦且禁止虛擬鍵盤彈出

  },

  /**

   * 銷毀富文本編輯器

   */

  beforeDestroy() {

    const editor = this.editor

    if (editor != null) {

      editor.destroy()

    }

  }

}

script>

<style src="@wangeditor/editor/dist/css/style.css">style>


<style lang="less" scoped>

.w-e-full-screen-container {

  z-index: 99;

}


.w-e-for-vue {

  margin: 0;

  border: 1px solid #ccc;


  .w-e-for-vue-toolbar {

    border-bottom: 1px solid #ccc;

  }


  .w-e-for-vue-editor {

    height: auto;


    /deep/ .w-e-text-container {


      .w-e-text-placeholder {

        top: 6px;

        color: #666;

      }


      pre {


        code {

          text-shadow: unset;

        }

      }


      p {

        margin: 5px 0;

        font-size: 14px; // 設(shè)置編輯器的默認(rèn)字體大小為14px

      }

    }

  }

}

style>

有關(guān)子組件傳值的內(nèi)容可以點(diǎn)擊此鏈接>>查看。

到這里,擁有完整功能的富文本編輯器就完成了。

關(guān)鍵詞:
返回列表
免费国产在线观看不卡| 你懂的日韩| 成人影院久久久久久影院| 国产视频在线免费观看| 亚洲精品影院一区二区| 韩国毛片免费| a级毛片免费全部播放| 国产美女在线观看| 黄视频网站在线观看| 久久国产精品只做精品| 亚洲 国产精品 日韩| 久久福利影视| 999精品在线| 国产成人精品综合在线| 一级片免费在线观看视频| 国产麻豆精品| 日韩中文字幕在线亚洲一区| 精品国产香蕉在线播出| 亚洲精品影院一区二区| 日韩avdvd| 国产视频一区二区在线播放| 国产美女在线一区二区三区| 亚洲精品影院一区二区| 台湾美女古装一级毛片| 一本高清在线| 黄视频网站在线免费观看| 午夜久久网| 成人免费观看男女羞羞视频| 久久国产精品自由自在| 日韩女人做爰大片| 99热精品在线| 韩国三级香港三级日本三级| 国产极品精频在线观看| 久久国产一久久高清| 国产网站在线| 国产成人精品影视| a级黄色毛片免费播放视频| 亚洲精品影院久久久久久| 国产91丝袜高跟系列| 国产91素人搭讪系列天堂| 国产高清在线精品一区a| 亚久久伊人精品青青草原2020| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美a级片视频| 国产不卡在线播放| 成人免费网站久久久| 黄视频网站在线免费观看| 日本在线不卡视频| 成人免费观看网欧美片| 99热精品在线| 成人高清视频在线观看| 日本免费乱人伦在线观看 | 欧美一级视| 亚欧成人乱码一区二区| 香蕉视频三级| 亚洲女初尝黑人巨高清在线观看| 天天做日日爱| 国产不卡在线看| 国产麻豆精品视频| 亚洲第一色在线| 日韩男人天堂| 国产一区二区精品尤物| 天天做人人爱夜夜爽2020| 美女免费精品高清毛片在线视| 久久国产精品自由自在| 午夜激情视频在线播放| 天天色成人| 成人av在线播放| 99热精品在线| 深夜做爰性大片中文| 成人免费观看的视频黄页| 欧美日本国产| 麻豆午夜视频| 日韩男人天堂| 午夜欧美成人香蕉剧场| 91麻豆精品国产高清在线| 黄色免费三级| 久久久久久久免费视频| 99色精品| 国产网站免费视频| 久久国产精品只做精品| 欧美另类videosbestsex久久| 久久精品欧美一区二区| 午夜欧美福利| 精品视频免费看| 国产a网| 亚洲精品影院一区二区| 亚洲第一视频在线播放| 亚洲 欧美 成人日韩| 99色吧| 色综合久久天天综线观看| 欧美激情中文字幕一区二区| 欧美激情中文字幕一区二区| 成人免费网站久久久| 91麻豆精品国产自产在线 | 欧美另类videosbestsex| 四虎论坛| 亚洲天堂免费| 国产精品免费久久| 精品久久久久久中文字幕一区 | 九九九网站| 精品美女| 亚洲天堂免费观看| 超级乱淫黄漫画免费| 日韩中文字幕一区| 午夜在线亚洲| 青草国产在线| 99热热久久| 麻豆系列 在线视频| 精品视频免费在线| 欧美18性精品| 韩国三级一区| 免费毛片播放| 亚洲精品永久一区| 青青青草视频在线观看| 麻豆网站在线看| 韩国三级一区| 深夜做爰性大片中文| 色综合久久久久综合体桃花网| 精品国产一区二区三区久 | 中文字幕Aⅴ资源网| 一级片片| 精品在线观看国产| 日韩一级黄色片| 国产成a人片在线观看视频| 精品国产亚洲人成在线| 亚洲 男人 天堂| 免费一级片在线| 99热精品在线| 九九免费精品视频| 国产国语对白一级毛片| 国产91精品一区| 欧美日本韩国| 日日日夜夜操| 99色视频| 精品国产一级毛片| 黄视频网站免费看| 你懂的日韩| 尤物视频网站在线观看| 999精品在线| 欧美激情一区二区三区在线播放 | 欧美国产日韩在线| 国产精品123| 青青久久国产成人免费网站| 九九九国产| 黄色免费网站在线| 久久国产影视免费精品| 精品久久久久久免费影院| 欧美国产日韩精品| 国产一区免费在线观看| 91麻豆精品国产综合久久久| 黄视频网站免费| 色综合久久天天综合绕观看| 亚洲精品中文一区不卡| 久久国产精品只做精品| 国产成人精品综合久久久| 91麻豆精品国产综合久久久| 亚欧乱色一区二区三区| 精品国产一级毛片| 欧美18性精品| 91麻豆tv| 黄色免费网站在线| 成人免费观看网欧美片| 可以免费看污视频的网站| 亚欧成人毛片一区二区三区四区 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 99热精品一区| 九九久久99| 精品国产一区二区三区免费 | 可以免费在线看黄的网站| 欧美日本韩国| 免费毛片基地| 国产成人精品影视| 美女免费精品高清毛片在线视 | 国产网站免费视频| 免费毛片播放| 天天色成人| 欧美国产日韩久久久| 97视频免费在线| 欧美一级视频高清片| 欧美一级视频高清片| 国产成人精品综合在线| 你懂的日韩| 成人免费高清视频| 久久精品成人一区二区三区| 99热热久久| 香蕉视频久久| 亚洲精品久久玖玖玖玖| 国产亚洲男人的天堂在线观看| 精品视频在线观看一区二区三区| 亚洲第一页乱| 国产综合成人观看在线| 亚洲第一页乱| 国产不卡精品一区二区三区| 四虎影视库国产精品一区| 亚洲天堂免费观看| 天天色色色| 精品国产一级毛片| 国产网站免费观看| 久草免费在线观看|