vue-codemirror icon indicating copy to clipboard operation
vue-codemirror copied to clipboard

How to refresh the MergeView?

Open Achronaz opened this issue 6 years ago • 7 comments

How can I refresh the MergeView when the reference of origLeft and orig updated. cmMergeOption: { value: this.val, origLeft: this.orig1, orig: this.orig2, //... }

https://jsfiddle.net/dzw6zb72/

Achronaz avatar Mar 14 '18 17:03 Achronaz

No answer?

liuyuer avatar Oct 06 '18 20:10 liuyuer

I am facing the same problem. Any luck?

liuyuer avatar Oct 07 '18 04:10 liuyuer

Try this code.

this.$nextTick(() => {
  this.$refs.cmMerge.codemirror.refresh()
})

surmon-china avatar Nov 13 '18 16:11 surmon-china

Try this code.

this.$nextTick(() => {
  this.$refs.cmMerge.codemirror.refresh()
})

it's error

vue.runtime.esm.js?2b0e:587 [Vue warn]: Error in nextTick: "TypeError: _this4.$refs.cmMerge.codemirror.refresh is not a function"

found in

---> <ExecInfo>
       <Content>
         <Layout>
           <Content>
             <Layout>... (1 recursive calls)
               <Main> at src/components/main/main.vue
                 <App> at src/App.vue
                   <Root>
warn @ vue.runtime.esm.js?2b0e:587
logError @ vue.runtime.esm.js?2b0e:1733
globalHandleError @ vue.runtime.esm.js?2b0e:1728
handleError @ vue.runtime.esm.js?2b0e:1717
(anonymous) @ vue.runtime.esm.js?2b0e:1835
flushCallbacks @ vue.runtime.esm.js?2b0e:1754
Promise.then (async)
microTimerFunc @ vue.runtime.esm.js?2b0e:1802
nextTick @ vue.runtime.esm.js?2b0e:1846
queueWatcher @ vue.runtime.esm.js?2b0e:3064
update @ vue.runtime.esm.js?2b0e:3205
notify @ vue.runtime.esm.js?2b0e:693
reactiveSetter @ vue.runtime.esm.js?2b0e:1010
proxySetter @ vue.runtime.esm.js?2b0e:3296
(anonymous) @ file.vue?3b29:373
Promise.then (async)
selectVersion @ file.vue?3b29:372
invoker @ vue.runtime.esm.js?2b0e:2023
Vue.$emit @ vue.runtime.esm.js?2b0e:2534
values @ iview.js?e069:5259
run @ vue.runtime.esm.js?2b0e:3229
flushSchedulerQueue @ vue.runtime.esm.js?2b0e:2977
(anonymous) @ vue.runtime.esm.js?2b0e:1833
flushCallbacks @ vue.runtime.esm.js?2b0e:1754
vue.runtime.esm.js?2b0e:1737 TypeError: _this4.$refs.cmMerge.codemirror.refresh is not a function
    at VueComponent.eval (file.vue?3b29:378)
    at Array.eval (vue.runtime.esm.js?2b0e:1833)
    at flushCallbacks (vue.runtime.esm.js?2b0e:1754)

lework avatar Aug 09 '19 09:08 lework

I met the same problem. Is there a solution?

FlyingFishPeng avatar Aug 26 '19 08:08 FlyingFishPeng

Try this code.

this.$nextTick(() => {
  this.$refs.cmMerge.codemirror.refresh()
})

it's error

vue.runtime.esm.js?2b0e:587 [Vue warn]: Error in nextTick: "TypeError: _this4.$refs.cmMerge.codemirror.refresh is not a function"

found in

---> <ExecInfo>
       <Content>
         <Layout>
           <Content>
             <Layout>... (1 recursive calls)
               <Main> at src/components/main/main.vue
                 <App> at src/App.vue
                   <Root>
warn @ vue.runtime.esm.js?2b0e:587
logError @ vue.runtime.esm.js?2b0e:1733
globalHandleError @ vue.runtime.esm.js?2b0e:1728
handleError @ vue.runtime.esm.js?2b0e:1717
(anonymous) @ vue.runtime.esm.js?2b0e:1835
flushCallbacks @ vue.runtime.esm.js?2b0e:1754
Promise.then (async)
microTimerFunc @ vue.runtime.esm.js?2b0e:1802
nextTick @ vue.runtime.esm.js?2b0e:1846
queueWatcher @ vue.runtime.esm.js?2b0e:3064
update @ vue.runtime.esm.js?2b0e:3205
notify @ vue.runtime.esm.js?2b0e:693
reactiveSetter @ vue.runtime.esm.js?2b0e:1010
proxySetter @ vue.runtime.esm.js?2b0e:3296
(anonymous) @ file.vue?3b29:373
Promise.then (async)
selectVersion @ file.vue?3b29:372
invoker @ vue.runtime.esm.js?2b0e:2023
Vue.$emit @ vue.runtime.esm.js?2b0e:2534
values @ iview.js?e069:5259
run @ vue.runtime.esm.js?2b0e:3229
flushSchedulerQueue @ vue.runtime.esm.js?2b0e:2977
(anonymous) @ vue.runtime.esm.js?2b0e:1833
flushCallbacks @ vue.runtime.esm.js?2b0e:1754
vue.runtime.esm.js?2b0e:1737 TypeError: _this4.$refs.cmMerge.codemirror.refresh is not a function
    at VueComponent.eval (file.vue?3b29:378)
    at Array.eval (vue.runtime.esm.js?2b0e:1833)
    at flushCallbacks (vue.runtime.esm.js?2b0e:1754)

I guess what you might use is vue-codemirror-lite, not vue-codemirror

zouhuajian avatar May 06 '20 03:05 zouhuajian

still exist @ 4.0.6 @surmon-china @zouhuajian

guhan121 avatar May 31 '21 09:05 guhan121