使用botbuilder SDK的Prompt.choice(),是否可以使用自定义工具提示显示长选项文本?

时间:2017-12-29 06:17:29

标签: javascript node.js botframework

我使用NodeJS SDK使用MSFT botframework创建机器人。我正在使用builder.prompt.choice向用户提供选项。如果选项值太长而无法完全查看,是否可以将鼠标悬停在可点击选项上?代码段如下。此外,选项值是在运行时获取的,因此我们无法控制长度。

function(session, args, next) {
  builder.Prompts.choice(session, "Please select one of the options:", ['I want to hover here.....', 'Since it is a very very long sentence', 'ccc ccc ccc dddd d  d aa a a ddd a sdd d '], {
    retryPrompt: "Invalid choice, Please pick below listed choices",
    listStyle: builder.ListStyle.button,
    maxRetries: 1
  });
},
function(session, results) {
  if (results.response) {
    //Do something
  }
}

1 个答案:

答案 0 :(得分:1)

使用网络聊天频道时,您可以按照Microsoft的GitHub项目here提供的指南自定义频道实施。

特别是,在您的情况下,您只需删除限制按钮为1行的ActionButton上的属性,如果行太长则添加...

您需要做的修改是删除botchat.js文件中function ActionButton上的以下行(看起来您不能在CSS端执行此操作):

this._element.style.whiteSpace="nowrap";

通过执行此操作,您将获得如下所示的promptChoices,其中第二个选项有两行:

enter image description here

顺便说一下,你也可以在按钮上添加标题,以便像我一样使用鼠标悬停时获取值: - )