diff --git a/resources/assets/js/pages/manage/components/ChatInput/index.vue b/resources/assets/js/pages/manage/components/ChatInput/index.vue index 0b13fe81c..c674891e8 100755 --- a/resources/assets/js/pages/manage/components/ChatInput/index.vue +++ b/resources/assets/js/pages/manage/components/ChatInput/index.vue @@ -251,6 +251,8 @@ export default { touchLimitX: false, touchLimitY: false, + pasteClean: true, + isSpecVersion: this.checkIOSVersion(), }; }, @@ -661,6 +663,9 @@ export default { // Clipboard Matcher (保留图片跟空格,清除其余所以样式) this.quill.clipboard.addMatcher(Node.ELEMENT_NODE, (node, delta) => { + if (!this.pasteClean) { + return delta + } delta.ops = delta.ops.map(op => { const obj = { attributes: {}, @@ -780,6 +785,10 @@ export default { } }, + setPasteMode(bool) { + this.pasteClean = bool + }, + getInputCache() { const item = this.dialogInputCache.find(item => item.key == this.cacheKey); return item ? item.cache : ''; diff --git a/resources/assets/js/pages/manage/components/DialogWrapper.vue b/resources/assets/js/pages/manage/components/DialogWrapper.vue index 833daed3d..9f92e0f8f 100644 --- a/resources/assets/js/pages/manage/components/DialogWrapper.vue +++ b/resources/assets/js/pages/manage/components/DialogWrapper.vue @@ -1898,7 +1898,11 @@ export default { text = text.replace(/]*)>~([^>]*)<\/a>/g, '~$3') text = text.replace(/([@#])([^>]*)<\/span>/g, '$3$4') } + this.$refs.input.setPasteMode(false) this.msgText = $A.formatMsgBasic(text) + this.$nextTick(_ => { + this.$refs.input.setPasteMode(true) + }) } },