Power Apps 中的聊天功能

问题描述 投票:0回答:1

我正在开发一个 Power Apps 应用程序,其中有一个名为 VisualizacaoSolicitacao 的屏幕,允许用户查看和更新 SharePoint 列表中的票证。该应用程序包括类似聊天的功能,用户可以在 [Automação - Notas de Débito] 列表中名为 [Commentários] 的列中添加评论。

我想要实现的功能是将新消息附加到 [Commentários] 列中的现有消息中。每个条目应包含日期、时间和用户名,后跟消息文本,并且应保留所有条目而不覆盖以前的条目。

这是我当前使用的 Button2 的代码:

// Store the current value of 'Comentários' in a context variable
UpdateContext({ currentDetails: gblSelectedItem.Comentários });;

// Debugging: Check the current value in the context
Notify("Current details: " & currentDetails);;

// Patch with concatenation
Patch(
    'Automação - Notas de Débito';
    gblSelectedItem;
    {
        Comentários: 
            Coalesce(
                currentDetails; ""  // Corrects the argument separation
            ) &
            "<br><br>" & // Adds two line breaks
            "<b>" & Text(Now(); "[$-pt-BR]dd-mm-yyyy hh:mm:ss") & " - " & User().FullName & ":</b>" &
            "<br>" & 
            Input_Text.Text
    }
);;

// Reset the input field
Reset(Input_Text);;

// Notify the user that the details were updated
Notify("Details updated", NotificationType.Information);;

当我添加新消息时,应用程序不会在新条目上附加换行符,而是更新最后一条消息,将其替换为新消息。我需要将新消息添加为先前消息下方的新条目,而不是覆盖它们。

我尝试过的:

确保正确检索 currentDetails。 使用 Concatenate 函数而不是简单的字符串连接。 验证 gblSelectedItem 是否正确设置为当前项目。 尽管做出了这些努力,问题仍然存在,并且最后一条消息总是被覆盖,而不是附加新消息。

问题: 如何修改我的代码以将新消息正确附加到 [Commentários] 列,同时保留以前的消息?

提前感谢您的帮助!

消息1

消息2已刷新

formatting chat powerapps
1个回答
0
投票

我们的方法有点不同:我们没有在现有评论之前/之后添加评论,而是将整个评论替换为:

  • '作者姓名'
  • “日期和时间”
  • ‘新评论’
  • 分隔线('-------')
  • '之前的评论字段文本'

在代码视图中:

Patch(
Comments,
LookUp(
    Comments,
    ID = SelectedThing.ID
),
{
    Text: Concatenate(
        User().FullName,
        Char(13),
        Text(
            Now(),
            DateTimeFormat.ShortDateTime24,
            "en-US"
        ),
        Char(13),
        newcommentField.Text,
        Char(13),
        Char(13),
        "-------------------------------",
        Char(13),
        Char(13),
        oldcomments.Text
    )
}

);

© www.soinside.com 2019 - 2024. All rights reserved.