From 2d93ef10892700a0f4902112fff07dc2933f40fe Mon Sep 17 00:00:00 2001 From: Sagi Date: Mon, 7 Nov 2022 18:56:12 +0800 Subject: [PATCH 1/2] feature(message-box): support dispaly exception detail --- .../message-box/src/message-box.component.tsx | 31 ++++++++++++------- .../message-box/src/message-box.props.ts | 3 +- .../message-box/src/message-box.service.tsx | 5 +-- packages/ui-vue/demos/message-box/errors.vue | 25 +++++++++++++++ packages/ui-vue/src/app.vue | 2 ++ 5 files changed, 52 insertions(+), 14 deletions(-) create mode 100644 packages/ui-vue/demos/message-box/errors.vue diff --git a/packages/ui-vue/components/message-box/src/message-box.component.tsx b/packages/ui-vue/components/message-box/src/message-box.component.tsx index a77adc1dd4b..1f99457d0bb 100644 --- a/packages/ui-vue/components/message-box/src/message-box.component.tsx +++ b/packages/ui-vue/components/message-box/src/message-box.component.tsx @@ -6,7 +6,7 @@ import { ModalButton } from "../../modal"; export interface ExceptionInfo { date: string; message: string; - copyButton: ModalButton; + detail: string; } export default defineComponent({ @@ -17,7 +17,7 @@ export default defineComponent({ const messageType = ref(props.type); const messageTitle = ref(props.title); const messageDetail = ref(props.detail); - const exception = ref({} as ExceptionInfo); + const exception = ref(props.exceptionInfo); const happend = ref(''); const promptInputType = ref(''); const promptFontSize = ref(14); @@ -34,8 +34,9 @@ export default defineComponent({ const showCancelButton = ref(true); const showOkButton = ref(true); - const showLines = ref(''); - const exceptionMessageMaxHeight = ref(0); + const copyButtonText = ref('复制详细信息'); + const showLines = ref(3); + const exceptionMessageMaxHeight = ref(200); const messageBoxContainerClass = computed(() => { const classObject = { @@ -52,6 +53,8 @@ export default defineComponent({ const styleObject = {} as Record; if (messageType.value === 'prompt') { styleObject.padding = '0.5rem 0.5rem 1rem 1.5rem'; + } else if (messageType.value === 'error') { + styleObject.padding = '0.5rem 1.5rem 1rem 1.5rem'; } return styleObject; }); @@ -85,11 +88,11 @@ export default defineComponent({ const exceptionDateMessage = computed(() => { const exceptionDate = exception.value && exception.value.date || ''; - return `${happend.value} : ${exceptionDate}`; + return `发生时间 : ${exceptionDate}`; }); const shouldShowExceptionMessage = computed(() => { - return !!exception.value && !!exception.value.message; + return !!exception.value && !!exception.value.detail; }); const exceptionMessageStyle = computed(() => { @@ -110,7 +113,7 @@ export default defineComponent({ }); const safeExceptionMessage = computed(() => { - const safeMessage = exception.value && exception.value.message || ''; + const safeMessage = exception.value && exception.value.detail || ''; return safeMessage; }); @@ -201,7 +204,7 @@ export default defineComponent({ }); const shouldShowCopyButton = computed(() => { - return exception.value && exception.value.copyButton && exception.value.copyButton.text; + return exception.value && exception.value.date && exception.value.message && exception.value.detail; }); function onClickCopyButton($event: MouseEvent) { @@ -353,7 +356,7 @@ export default defineComponent({ { shouldShowCopyButton.value && - {exception.value.copyButton.text} + {copyButtonText.value} } @@ -408,7 +411,7 @@ export default defineComponent({ {shouldShowExceptionDate.value &&
{exceptionDateMessage.value}
} {shouldShowExceptionMessage.value &&
- {exceptionMessageDetail.value}: + 详细信息 :
} { @@ -452,6 +455,12 @@ export default defineComponent({ { shouldShowOkCancelButtons.value &&