vue codemirror刷新的问题

在table的操作列加上elementui 的弹出层,弹出层里面包含codemirror

之前的错误代码


     

//methods方法
refreshScript (script) {
       let codemirror = this.$refs["scriptCodemirror"].codemirror; //
          codemirror.setValue(script);
             setTimeout(() => {
                    codemirror.refresh();
                }, 100) //一定要setTimeout,保证在setValue()之后再刷新
       },

会出现的问题是:codemirror里面出现的始终未第一次渲染的值


image.png

解决方法:将ref加上index保证他们是唯一的codemirror


     

//methods方法
refreshScript (script,index) {
       let codemirror = this.$refs["scriptCodemirror" + index].codemirror;
          codemirror.setValue(script);
             setTimeout(() => {
                    codemirror.refresh();
                }, 100)
       },

你可能感兴趣的:(vue codemirror刷新的问题)