【问题标题】:Extend buttons to show long messages扩展按钮以显示长消息
【发布时间】:2019-01-25 05:01:48
【问题描述】:

前言

我目前正在使用 Node.js 编写 Microsoft 的 Botbuilder SDK。

问题

在提示用户从一组可点击按钮选项中进行选择的情况下,按钮的文本会被附加的省略号截断。以下是使用 Microsoft 的 Bot Framework Emulator 的示例:

代码如下:

bot.dialog('mainMenu', [
    (session, args, next) => {
        // buttonOptions is an array of size 4 all with the
        //     string 'VERY LONG TEXT THAT GETS CUT OFF'
        builder.Prompts.choice(session, 'What would you like to do?'
        , buttonOptions, { listStyle: builder.ListStyle.button });
    }
]);

想要的结果

我想显示按钮的全部文本。我知道 listStyle: 存在显示整个文本的列表,但我正在寻找一种允许按钮使用的解决方案。

问题

有没有办法扩展按钮以在这些类型的提示中显示整个长文本长度?欢迎使用不限于此 listStyle 的替代观点。

【问题讨论】:

  • 它们的呈现方式取决于频道,如果您的机器人在 WebChat 中使用,则可以更改按钮的样式。

标签: node.js botframework


【解决方案1】:

选项的显示方式由每个频道实现,因此您可以专注于您的目标频道。

一些渠道实现(通常是模拟器和网络聊天)是开源的,您可以创建自己的分支来构建您需要的行为。

模拟器

Bot Framework 的模拟器源位于GitHub

网络聊天

我已经回答了一个关于自定义网络聊天以显示按钮的所有文本的类似问题。为避免重复,请直接看这里:Using botbuilder SDK's Prompt.choice(), is it possible to have a custom tooltip which displays long choice-text?

它允许像这样多行渲染按钮:

【讨论】:

    【解决方案2】:

    您可以在文本中添加“\n”。所以按钮看起来像这样 Example

    为了更好的结果,我确定了一个最大值并划分了字符串长度。有了这个号码,我就分开了。在我搜索最后一个空白放置“\n”之后。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-10
      • 1970-01-01
      • 2014-07-21
      • 2014-11-01
      • 1970-01-01
      相关资源
      最近更新 更多