UNPKG

easemob-chat-uikit

Version:

![Static Badge](https://img.shields.io/badge/platform-React-green) ![Static Badge](https://img.shields.io/badge/language-typescript-green) ![GitHub commit activity](https://img.shields.io/github/commit-activity/y/easemob/Easemob-UIKit-web) ![GitHub last c

46 lines (45 loc) 1.54 kB
import React, { ReactNode } from 'react'; import { ChatSDK } from '../SDK'; import { BaseMessageType } from '../baseMessage/BaseMessage'; export interface CustomMessageQuoteContext { message: ChatSDK.CustomMsgBody; msgQuote?: { msgID: string; msgPreview: string; msgSender: string; msgType: ChatSDK.MessageBody['type']; }; prefixCls: string; } export type CustomMessageQuoteRenderer = (context: CustomMessageQuoteContext) => ReactNode; export interface RepliedMsgProps { prefixCls?: string; className?: string; style?: React.CSSProperties; shape?: 'round' | 'square'; direction?: 'ltr' | 'rtl'; message: BaseMessageType; /** * 自定义消息被引用时的渲染器 * 用于渲染用户自定义的 custom 消息在被引用时的展示内容 * * @example * ```tsx * renderCustomMessageQuote={(context) => { * const { message, prefixCls } = context; * if (message.customEvent === 'myCustomType') { * return ( * <div className={`${prefixCls}-content-text`}> * <Icon type="CUSTOM_ICON" /> * <span>我的自定义消息: {message.customExts?.title}</span> * </div> * ); * } * return null; // 返回 null 使用默认渲染 * }} * ``` */ renderCustomMessageQuote?: CustomMessageQuoteRenderer; } declare const RepliedMsg: (props: RepliedMsgProps) => import("react/jsx-runtime").JSX.Element | null; export { RepliedMsg };