ConversationActions
component is responsible for operations on a single conversation, supporting conversation deletion, pin/unpin conversation, and mute/unmute conversation features by default.ConversationList
with ConversationActions
, you can directly customize through the ConversationList
top-level actionsConfig
parameter. actionsConfig
supports feature switches, event responses, adding new custom operations, basic UI customization, etc.ConversationActions
.import { UIKitProvider, ConversationList } from "@tencentcloud/chat-uikit-react";const App = () => {return (<UIKitProvider><ConversationListactionsConfig={{enablePin: false,onConversationDelete: (conversation: IConversationModel) => { console.log('Delete conversation success'); },customConversationActions: {'custom-actions-1': {label: 'custom-actions',onClick: (conversation: IConversationModel) => { console.log(conversation); },},},}}/></UIKitProvider>);}
import { UIKitProvider, ConversationList, ConversationActions, IConversationActionsProps } from "@tencentcloud/chat-uikit-react";const CustomConversationActions = (props: IConversationActionsProps) => {return <ConversationActions {...props} enableDelete={false} />;};const App = () => {return (<UIKitProvider><ConversationListstyle={{ maxWidth: '300px', height: '600px' }}ConversationActions={CustomConversationActions}/></UIKitProvider>);}
ConversationActions
component interface type IConversationActionsProps
is extended based on the IConversationActionsConfig
interface. IConversationActionsProps | |||
Parameter Name | Type | Default Value | Indication |
conversation(Required) | - | Required parameter, indicating the conversation corresponding to the current rendered conversation action. | |
className | String | - | Class Name from the Definition root element. |
style | React.CSSProperties | - | Style from the Definition root element. |
IConversationActionsConfig | | | |
Parameter Name | Type | Default Value | Indication |
enablePin | Boolean | true | Whether to display the pin feature button. |
enableMute | Boolean | true | Whether to display the Do Not Disturb feature button. |
enableDelete | Boolean | true | Whether to display the delete feature button. |
onConversationPin | - | Behavior from the Definition for pinning/unpinning a conversation. | |
onConversationMute | => void | - | Behavior from the Definition for enabling/disabling Do Not Disturb for a conversation. |
onConversationDelete | - | Behavior from the Definition for deleting a conversation. | |
customConversationActions | - | Action Items in Custom Conversation. | |
PopupIcon | ReactElement | - | Icon of the Custom Action Pop-up Window. |
PopupElements | ReactElement[] | - | Content of the Custom Action Pop-up Window. |
onClick | - | Callback Function when clicking on Action Items. |
enablePin
, enableDelete
, and enableMute
parameters, you can flexibly control the display of the ConversationActions
feature in Conversation Pin, Conversation Delete, and Conversation Mute.<ConversationActions enablePin={false} />
<ConversationActionsenableDelete
={false} />
<ConversationActionsenableMute
={false} />
enablePin={false} | enableDelete={false} | enableMute={false} |
| | |
ConversationActions
component by default supports conversation deletion, conversation pinning/unpinning, and conversation do not disturb/cancel do not disturb feature. If the default feature event response does not meet your needs, you can define custom event response handling functions to override them; besides supporting custom event responses for feature events, you can also get basic click event responses via onClick.import { ConversationList, ConversationActions, IConversationActionsProps, Toast } from '@tencentcloud/chat-uikit-react';import { IConversationModel } from '@tencentcloud/chat-uikit-engine';const CustomConversationActions = (props: IConversationActionsProps) => {return (<ConversationActions{...props}onConversationDelete={(conversation: IConversationModel) => {conversation.deleteConversation().then(() => {Toast({ text: 'delete conversation successfully!', type: 'info' });}).catch(() => {Toast({ text: 'delete conversation failed!', type: 'error' });});}}/>);};<ConversationList ConversationActions={CustomConversationActions} />
customConversationActions
is used to add a list of custom action items to the ConversationActions.IConversationActionItem | |||
Parameter Name | Type | Default Value | Indication |
enable | Boolean | true | Enable custom action items. |
label | String | - | Display content of custom action items. |
onClick | - | Callback function when clicking on a custom Operation Item. |
customConversationActions
:import { ConversationList, ConversationActions, IConversationActionsProps } from '@tencentcloud/chat-uikit-react';const CustomConversationActions = (props: IConversationActionsProps) => {return (<ConversationActions{...props}customConversationActions={{'custom-actions-1': {label: 'custom-actions',onClick: (conversation: IConversationModel) => { console.log(conversation); },},}}/>);};<ConversationList ConversationActions={CustomConversationActions} />
before | after |
| |
PopupIcon
parameter, and customize the popup content through PopupElements
.ConversationActions
component, customizing a new popup button style:import { ConversationList, ConversationActions, IConversationActionsProps, Icon, IconTypes } from '@tencentcloud/chat-uikit-react';const CustomConversationActions = (props: IConversationActionsProps) => {const customIcon = <Icon type={IconTypes.ADD} width={16} height={16} />;return (<ConversationActions {...props} PopupIcon={customIcon} />);};<ConversationList ConversationActions={CustomConversationActions} />
before | after |
| |
Was this page helpful?