GithubHelp home page GithubHelp logo

caiya / vue-neditor-wrap Goto Github PK

View Code? Open in Web Editor NEW
242.0 9.0 50.0 7.94 MB

基于vue和neditor的双向绑定组件,使用vue-cli3的项目可以直接使用

JavaScript 10.66% Vue 89.34%
vue ueditor neditor vue-cli3 editor vue-editor vue-neditor vue-ueditor

vue-neditor-wrap's Introduction

vue-neditor-wrap

Installation

$ npm i vue-neditor-wrap

Quick Start

  1. 下载官方资源文件

    下载完成后放在本地public下,命名为NEditor的文件夹下

  2. 引入VueNeditorWrap组件

    import VueNeditorWrap from 'vue-neditor-wrap'

  3. 注册组件

    components: {
        VueNeditorWrap
    },
  4. v-model绑定数据

    <vue-neditor-wrap v-model="content" :config="myConfig" :destroy="false" @ready="ready"></vue-neditor-wrap>
    data () {
        return {
            myConfig: {
                // 如果需要上传功能,找后端小伙伴要服务器接口地址
                serverUrl: '/api/web/upload/ueditor',
                // 你的UEditor资源存放的路径,相对于打包后的index.html
                UEDITOR_HOME_URL: '/NEditor/',
                // 编辑器不自动被内容撑高
                autoHeightEnabled: false,
                // 初始容器高度
                initialFrameHeight: 240,
                // 初始容器宽度
                initialFrameWidth: '100%',
                // 关闭自动保存
                enableAutoSave: false
            },
            content: '',
        }
    }

    至此你已经可以在页面中看到一个初始化之后的NEditor了,并且它已经成功和数据绑定了!

License

MIT

vue-neditor-wrap's People

Contributors

caiya avatar wonderzhou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vue-neditor-wrap's Issues

打包后项目不在根目录下,资源引入失败

打包后项目不在根目录下,资源引入失败,
例如项目放在/web文件夹下,
查找资源路径/NEditor/neditor.parse.min.js,
而资源实际路径/web/NEditor/neditor.parse.min.js,
有没有好的办法解决这个问题

加载缓慢

你好,vue-neditor-wrap 组件加载缓慢怎么解决?第一次进来编辑的时候文本框中无内容,需要退出去再进来才能显示

vuex中初始化的值为上次neditor的值

vuex中初始化的值为上次neditor的值。
neditor初始化后会先触发watch事件,将新的值写入富文本框,后触发ready事件,而ready事件获取的值为初始化时携带的旧值。

同时,npm的代码还是旧版本的,没法抓取最新的代码

v-model 有问题,导致出现空内容的情况

// v-model语法糖实现
  watch: {
    value: {
      handler(value) {
        
          this.editor ? this._setContent(value) : this._beforeInitEditor(value);
        
      },
      immediate: true
    }
  }

bug 修复代码

  // v-model语法糖实现
  watch: {
    value(value){
      this.editor ? this._setContent(value) : this._beforeInitEditor(value);
    }
  }

我想知道自定义工具栏为什么不起作用

如题,在事件中你暴露了一个接口,我在里面调用了window.UE.registerUI进行注册,但是很困惑的是没有显示出来。

addCustomButtom(editorId) {
      window.UE.registerUI('button', (editor, uiName) => {
        // 注册按钮执行时的command命令,使用命令默认就会带有回退操作
        editor.registerCommand(uiName, {
          execCommand() {
            alert(`execCommand:${uiName}`);
          },
        });
        // 创建一个button
        const btn = new window.UE.ui.Button({
        // 按钮的名字
          name: uiName,
          // 提示
          title: '这是一段提示信息',
          // 添加额外样式,指定icon图标,这里默认使用一个重复的icon
          cssRules: 'background-position: -500px 0;',
          // 点击时执行的命令
          onclick() {
            // 这里可以不用执行命令,做你自己的操作也可
            editor.execCommand(uiName);
          },
        });
        // 当点到编辑内容上时,按钮要做的状态反射
        editor.addListener('selectionchange', () => {
          const state = editor.queryCommandState(uiName);
          if (state == -1) {
            btn.setDisabled(true);
            btn.setChecked(false);
          } else {
            btn.setDisabled(false);
            btn.setChecked(state);
          }
        });
        // 因为你是添加button,所以需要返回这个button
        return btn;
      }, 0, editorId);

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.