copyWith method

ConversationItemConfig copyWith({
  1. Color? itemTitleColor,
  2. double? itemTitleSize,
  3. Color? itemContentColor,
  4. double? itemContentSize,
  5. Color? itemDateColor,
  6. Color? itemAitTextColor,
  7. double? itemDateSize,
  8. double? avatarCornerRadius,
  9. ConversationItemClick? itemClick,
  10. ConversationItemLongClick? itemLongClick,
  11. ConversationAvatarClick? avatarClick,
  12. ConversationAvatarLongClick? avatarLongClick,
  13. Comparator<ConversationInfo>? conversationComparator,
  14. ConversationItemBuilder? customItemBuilder,
  15. ConversationLastMessageContentBuilder? lastMessageContentBuilder,
  16. bool? clearMessageWhenDeleteSession,
  17. void onDeleteConversation(
    1. String conversationId
    )?,
})

基于当前配置派生一份新配置,仅覆盖显式传入的字段。 适用于桌面 Shell 等需要在全局配置之上扩展少量字段的场景。

Implementation

ConversationItemConfig copyWith({
  Color? itemTitleColor,
  double? itemTitleSize,
  Color? itemContentColor,
  double? itemContentSize,
  Color? itemDateColor,
  Color? itemAitTextColor,
  double? itemDateSize,
  double? avatarCornerRadius,
  ConversationItemClick? itemClick,
  ConversationItemLongClick? itemLongClick,
  ConversationAvatarClick? avatarClick,
  ConversationAvatarLongClick? avatarLongClick,
  Comparator<ConversationInfo>? conversationComparator,
  ConversationItemBuilder? customItemBuilder,
  ConversationLastMessageContentBuilder? lastMessageContentBuilder,
  bool? clearMessageWhenDeleteSession,
  void Function(String conversationId)? onDeleteConversation,
}) {
  return ConversationItemConfig(
    itemTitleColor: itemTitleColor ?? this.itemTitleColor,
    itemTitleSize: itemTitleSize ?? this.itemTitleSize,
    itemContentColor: itemContentColor ?? this.itemContentColor,
    itemContentSize: itemContentSize ?? this.itemContentSize,
    itemDateColor: itemDateColor ?? this.itemDateColor,
    itemAitTextColor: itemAitTextColor ?? this.itemAitTextColor,
    itemDateSize: itemDateSize ?? this.itemDateSize,
    avatarCornerRadius: avatarCornerRadius ?? this.avatarCornerRadius,
    itemClick: itemClick ?? this.itemClick,
    itemLongClick: itemLongClick ?? this.itemLongClick,
    avatarClick: avatarClick ?? this.avatarClick,
    avatarLongClick: avatarLongClick ?? this.avatarLongClick,
    conversationComparator:
        conversationComparator ?? this.conversationComparator,
    customItemBuilder: customItemBuilder ?? this.customItemBuilder,
    lastMessageContentBuilder:
        lastMessageContentBuilder ?? this.lastMessageContentBuilder,
    clearMessageWhenDeleteSession:
        clearMessageWhenDeleteSession ?? this.clearMessageWhenDeleteSession,
    onDeleteConversation: onDeleteConversation ?? this.onDeleteConversation,
  );
}