From 966571bdcb11c2729ab9ce212bd3e195f7bf3a59 Mon Sep 17 00:00:00 2001 From: liuzhidong <51448229+liuzhidong0918@users.noreply.github.com> Date: 星期一, 07 六月 2021 12:23:34 +0800 Subject: [PATCH] fix(Tinymce): Read only status upload button can also be used (#718) --- src/components/Tinymce/src/ImgUpload.vue | 18 +++++++++++++++--- src/components/Tinymce/src/Editor.vue | 8 ++++++++ 2 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/components/Tinymce/src/Editor.vue b/src/components/Tinymce/src/Editor.vue index 72223f7..de94197 100644 --- a/src/components/Tinymce/src/Editor.vue +++ b/src/components/Tinymce/src/Editor.vue @@ -6,6 +6,7 @@ @done="handleDone" v-if="showImageUpload" v-show="editorRef" + :disabled="disabled" /> <textarea :id="tinymceId" ref="elRef" :style="{ visibility: 'hidden' }"></textarea> </div> @@ -170,6 +171,12 @@ }; }); + const disabled = computed(() => { + const { options } = props; + const getdDisabled = options && Reflect.get(options, 'readonly'); + return getdDisabled ?? false; + }); + watch( () => attrs.disabled, () => { @@ -301,6 +308,7 @@ handleDone, editorRef, fullscreen, + disabled, }; }, }); diff --git a/src/components/Tinymce/src/ImgUpload.vue b/src/components/Tinymce/src/ImgUpload.vue index 41c8ce6..2963a50 100644 --- a/src/components/Tinymce/src/ImgUpload.vue +++ b/src/components/Tinymce/src/ImgUpload.vue @@ -8,14 +8,14 @@ :showUploadList="false" accept=".jpg,.jpeg,.gif,.png,.webp" > - <a-button type="primary"> + <a-button type="primary" v-bind="{ ...getButtonProps }"> {{ t('component.upload.imgUpload') }} </a-button> </Upload> </div> </template> <script lang="ts"> - import { defineComponent } from 'vue'; + import { defineComponent, computed } from 'vue'; import { Upload } from 'ant-design-vue'; import { useDesign } from '/@/hooks/web/useDesign'; @@ -29,14 +29,25 @@ fullscreen: { type: Boolean, }, + disabled: { + type: Boolean, + default: false, + }, }, emits: ['uploading', 'done', 'error'], - setup(_, { emit }) { + setup(props, { emit }) { let uploading = false; const { uploadUrl } = useGlobSetting(); const { t } = useI18n(); const { prefixCls } = useDesign('tinymce-img-upload'); + + const getButtonProps = computed(() => { + const { disabled } = props; + return { + disabled, + }; + }); function handleChange(info: Recordable) { const file = info.file; @@ -63,6 +74,7 @@ handleChange, uploadUrl, t, + getButtonProps, }; }, }); -- Gitblit v1.8.0