其他分享
首页 > 其他分享> > Extjs引入wangEditor富文本编辑器

Extjs引入wangEditor富文本编辑器

作者:互联网

wangEditor —— 轻量级 web 富文本编辑器,配置方便,使用简单。支持 IE10+ 浏览器。

一、wangEditor的引入

wangEditor官网:http://www.wangeditor.com/
官方在线开发文档:https://www.kancloud.cn/wangfupeng/wangeditor3/332599
我们可以先到官网下载wangEditor

<script type="text/javascript" src="./wangEditor/wangEditor.js"></script>
<script type="text/css" src="./wangEditor/wangEditor.css"></script>

二、wangEditor的封装

Ext.define('App.ux.MyWangEditor', {
    extend: 'Ext.form.field.Display', // Display的特性为不会提交任何内容到from表单
    alias: ['widget.wangEditor'],
    
    // 创建全局编辑器
    editors: null,
    
    initComponent : function() {
        var me = this;
        me.callParent(arguments);
    },

	// 初始化编辑器 很重要
    afterRender: function () {
        var me = this;
        me.callParent(arguments);
        me.initEditor();
    },

    // 创建编辑器
    initEditor:function(e){
        var me = this;
        // 创建wangEditor
        var E = window.wangEditor;
        me.editors = new E("#weShow");
        // 自定义文件上传方法
        me.editors.customConfig.customUploadImg = function (files, insert) {
            me.upload(files,insert);
        }
        // 自定义菜单配置
        me.editors.customConfig.menus = me.menusConfig;
        // 判断是否有val
        if(Ext.isEmpty(e)){
            me.loadeNew();
        }else{
            me.loadeVal(e);
        }
    },

    loadeNew:function(){
        var me = this;
        me.synHtml();
        me.editors.create();
        me.editors.txt.clear();
    },

    loadeVal:function(e){
        var me = this;
        var html = e.data.content;
        me.synHtml();
        me.editors.create();
        me.editors.txt.html(html);
    },

	// 监控变化,同步更新
    synHtml:function(){
        var me = this;
        var $text1 = Ext.getCmp('editors');
        me.editors.customConfig.onchange = function (html) {
            $text1.setRawValue(html);
        }
    },

	//  自定义文件的上传
    upload: function(files,insert){
        // 图片url
        var imgUrl = '';
        // files 是 input 中选中的文件列表,拼接formData
        var formData = new FormData();
        formData.append("fileFiled", files[0]);
        formData.append("fileCode", null);
        $.ajax({
            url: 请求的文件接口
            type: 'POST',
            cache: false,
            data: formData,
            processData: false,
            contentType: false,
            success: function (respone) {
                // 上传代码返回结果之后,将图片插入到编辑器中
                imgUrl = "服务器地址"+respone.result.path; // 拼接访问地址: 服务器地址+图片返回的路径
                insert(imgUrl)
            },
            error: function (respone) {
                // 上传失败打印错误信息
                me.console(respone.message);
            }
        });
    },

    // 菜单配置
    menusConfig: [
        'head',  // 标题
        'bold',  // 粗体
        'fontSize',  // 字号
        'fontName',  // 字体
        'italic',  // 斜体
        'underline',  // 下划线
        'strikeThrough',  // 删除线
        'foreColor',  // 文字颜色
        'backColor',  // 背景颜色
        'link',  // 插入链接
        'list',  // 列表
        'justify',  // 对齐方式
        'quote',  // 引用
        'emoticon',  // 表情
        'image',  // 插入图片
        'table',  // 表格
        'video',  // 插入视频
        'code',  // 插入代码
        'undo',  // 撤销
        'redo'  // 重复
    ]
});

三、引入封装的编辑器

			{
                    xtype: 'fieldset',
                    columnWidth: 1,
                    collapsible: true,
                    title: '通知内容',
                    layout: 'column',
                    defaults: {
                        margin: '5 5 5 5',
                        columnWidth: 1,
                        labelWidth: 80,
                        xtype: 'textfield'
                    },
                    items: [{
                        xtype: 'wangEditor', // 引入包装好的编辑器
                        id: 'weShow' 
                    },{
                        allowBlank: false,
                        xtype: 'textareafield', // 编辑器内容提交所依赖的文本域
                        id: 'editors',
                        hidden: true,
                        name: 'content'
                    }]
                }

最后附上引入的wangEditor3编辑器的图

在这里插入图片描述

转载请注明出处!

标签:me,function,文本编辑,wangEditor,editors,编辑器,var,Extjs
来源: https://blog.csdn.net/qq_35424132/article/details/90379264