Commit 8e01377481a34cda221de6bbb01fc7d5b2824c82

Authored by 无木
1 parent e7c96363

fix(tinymce): fixed `inline` mode

修复Tinymce的inline模式在一些场景下会出现异常的问题

fixed: #1092
CHANGELOG.zh_CN.md
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 ### 🐛 Bug Fixes 5 ### 🐛 Bug Fixes
6 6
7 - **CodeEditor** 修复 JSON 编辑器在格式化无效 JSON 文本时会抛出异常的问题 7 - **CodeEditor** 修复 JSON 编辑器在格式化无效 JSON 文本时会抛出异常的问题
  8 +- **Tinymce** 修复 inline 模式在一些场景下会出现异常的问题
8 - **其它** 9 - **其它**
9 - 修复部分封装组件在使用插槽时报错的问题 10 - 修复部分封装组件在使用插槽时报错的问题
10 - 修复`useECharts`的`theme`参数不起作用的问题 11 - 修复`useECharts`的`theme`参数不起作用的问题
src/components/Tinymce/src/Editor.vue
@@ -8,7 +8,13 @@ @@ -8,7 +8,13 @@
8 v-show="editorRef" 8 v-show="editorRef"
9 :disabled="disabled" 9 :disabled="disabled"
10 /> 10 />
11 - <textarea :id="tinymceId" ref="elRef" :style="{ visibility: 'hidden' }"></textarea> 11 + <textarea
  12 + :id="tinymceId"
  13 + ref="elRef"
  14 + :style="{ visibility: 'hidden' }"
  15 + v-if="!initOptions.inline"
  16 + ></textarea>
  17 + <slot v-else></slot>
12 </div> 18 </div>
13 </template> 19 </template>
14 20
@@ -188,7 +194,11 @@ @@ -188,7 +194,11 @@
188 ); 194 );
189 195
190 onMountedOrActivated(() => { 196 onMountedOrActivated(() => {
191 - tinymceId.value = buildShortUUID('tiny-vue'); 197 + if (initOptions.value.inline) {
  198 + tinymceId.value = unref(initOptions).selector!;
  199 + } else {
  200 + tinymceId.value = buildShortUUID('tiny-vue');
  201 + }
192 nextTick(() => { 202 nextTick(() => {
193 setTimeout(() => { 203 setTimeout(() => {
194 initEditor(); 204 initEditor();
@@ -206,7 +216,7 @@ @@ -206,7 +216,7 @@
206 216
207 function destory() { 217 function destory() {
208 if (tinymce !== null) { 218 if (tinymce !== null) {
209 - tinymce?.remove?.(unref(editorRef)); 219 + tinymce?.remove?.(tinymceId.value as string);
210 } 220 }
211 } 221 }
212 222