Browse Source

fix: Fixed the issue that markdownRenderProps did not take effect when parsing text in Chat when the content of the message is an array (#2794)

YyumeiZhang 6 months ago
parent
commit
cd00fde832

+ 4 - 3
packages/semi-ui/chat/chatBox/chatBoxContent.tsx

@@ -1,7 +1,7 @@
 import React, { ReactElement, ReactNode, useMemo } from 'react';
 import cls from 'classnames';
-import { Message, Metadata, RenderContentProps } from '../interface';
-import MarkdownRender, { MarkdownRenderProps } from '../../markdownRender';
+import { Message, Metadata, RenderContentProps, MarkdownRenderProps } from '../interface';
+import MarkdownRender from '../../markdownRender';
 import { cssClasses, strings } from '@douyinfe/semi-foundation/chat/constants';
 import { MDXProps } from 'mdx/types';
 import { FileAttachment, ImageAttachment } from '../attachment';
@@ -17,7 +17,7 @@ interface ChatBoxContentProps {
     role?: Metadata;
     message?: Message;
     customRenderFunc?: (props: RenderContentProps) => ReactNode;
-    markdownRenderProps?: MarkdownRenderProps;
+    markdownRenderProps?: MarkdownRenderProps
 }
 
 const ChatBoxContent = (props: ChatBoxContentProps) => {
@@ -64,6 +64,7 @@ const ChatBoxContent = (props: ChatBoxContentProps) => {
                             format='md'
                             raw={item.text}
                             components={markdownComponents as any}
+                            {...markdownRenderProps}
                         />;
                     } else if (item.type === 'image_url') {
                         return <ImageAttachment key={`index`} src={item.image_url.url} />;

+ 3 - 1
packages/semi-ui/chat/interface.ts

@@ -4,7 +4,9 @@ import { Upload } from '../index';
 import type { FileItem, UploadProps } from '../upload';
 import { EnableUploadProps, Message } from '@douyinfe/semi-foundation/chat/foundation';
 import type { TooltipProps } from '../tooltip';
-import { MarkdownRenderProps } from '../markdownRender';
+import { MarkdownRenderProps as OriginMarkdownRenderProps } from '../markdownRender';
+
+export type MarkdownRenderProps = Partial<OriginMarkdownRenderProps>;
 
 export { Message };
 export interface CommonChatsProps {