vue-codemirror
vue-codemirror copied to clipboard
How to refresh the MergeView?
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/
No answer?
I am facing the same problem. Any luck?
Try this code.
this.$nextTick(() => {
this.$refs.cmMerge.codemirror.refresh()
})
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 met the same problem. Is there a solution?
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
still exist @ 4.0.6 @surmon-china @zouhuajian