• vue-codemirror-merge插件的使用


    需求:对代码进行比较,并且提交修改后的代码

    安装:npm install codemirror diff-match-patch --save

    引入:

    import CodeMirror from 'codemirror';
    import "codemirror/theme/neat.css"; //主题css
    import 'codemirror/lib/codemirror.css'
    import 'codemirror/addon/merge/merge.js'
    import 'codemirror/addon/merge/merge.css'
    import DiffMatchPatch from 'diff-match-patch'; //需要用该工具进行对比,必须引入 
    window.diff_match_patch = DiffMatchPatch
    window.DIFF_DELETE = -1
    window.DIFF_INSERT = 1
    window.DIFF_EQUAL = 0
    我是在弹框中打开的,所以我在打开弹框的时候,执行js- diffCode
    <div id="code-diff-box"></div>
    components: {CodeMirror},
    methods:{
          diffCode(){
                let target = document.getElementById("code-diff-box");
                target.innerHTML = "";
                let oldStr = this.formConfigFiles.content;
                this.Editor = CodeMirror.MergeView(target, {
                    theme:"neat",
                    value:oldStr,//配置文件内容 - 在右侧
                    origRight: null,
                    orig: this.newStr,//编辑后返回内容 - 在左侧
                    lineNumbers: true,//显示行号
                    mode: "text/html",
                    highlightDifferences: true,
                    connect: 'align',
                    readOnly: false,//只读
                });
            },    
    }

    由于我需要左侧是新返回的代码(不可编辑),右侧是数据库中原始的code(可编辑),所以我对样式进行调整 (原先是左侧修改,右侧不可编辑)

    <style>
    .CodeMirror-merge-right{
        left: 0px
    }
    .CodeMirror-merge-gap{
        left: 47%;
    }
    .CodeMirror-merge-editor{
        position: absolute;
        right: 0;
    }
    .CodeMirror-merge-copy{
        transform: rotateY(180deg); 
    }
    </style>

     最后要获取编辑之后的内容,关键啊关键

    仍然要使用codemirror中的方法,但是他是在隐藏的,找了好久

    let newstr = this.Editor.edit.getValue();
    newstr  - 最新的修改后的代码;
  • 相关阅读:
    BUPT复试专题—最小距离查询(2013)
    BUPT复试专题—中序遍历序列(2013)
    BUPT复试专题—统计节点个数(2013)
    BUPT复试专题—日期(2013)
    BUPT复试专题—内存分配(2014-2)
    BUPT复试专题—图像识别(2014-2)
    Catch That Cow(BFS)
    Pet(hdu 4707 BFS)
    Knight Moves(BFS,走’日‘字)
    Lost Cows(BIT poj2182)
  • 原文地址:https://www.cnblogs.com/fyjz/p/14205775.html
Copyright © 2020-2023  润新知