如何在多行中询问用户的选择?

By simon at 2018-02-07 • 0人收藏 • 36人看过

我要求用户从多个选项中选择,如下所示

var reportData = {
    "Report A Traffic Violation": {
        intent: 'report_a_traffic_violation'
    },
    "Report a Lost Property": {
        intent: 'report_a_traffic_violation'
    },
    "Describe Incident": {
        intent: '/describeIncident'
    }
};

builder.Prompts.choice(session, "please select from options", reportData);
但是这些选项在单行中显示给用户。怎么能我显示选项 给用户使用多行如下?   1.选项一   2.选项二   3.选项三

4 个回复 | 最后更新于 2018-02-07
2018-02-07   #1

Node.js

基于你提供的代码,我想你正在使用node.js 您可以看看Contoso-Flowers样本省由微软,微软认为 其settings函数:[code](https://github.com/Microsoft/BotBuilder- 样品/斑点/主/节点/演示-ContosoFlowers / bot / dialogs / settings.js)这里和 预览列表可见[这里](https://github.com/Microsoft/BotBuilder- 萨mples /树/主/节点/演示ContosoFlowers)。 以下是他们如何处理清单:

var SettingChoice = {
    Email: 'edit_email',
    Phone: 'edit_phone',
    Addresses: 'edit_addresses',
    Cancel: 'cancel'
};

var lib = new builder.Library('settings');
lib.dialog('/', [
    // Display options
    function (session) {
        builder.Prompts.choice(session, 'settings_intro', [
            session.gettext(SettingChoice.Email),
            session.gettext(SettingChoice.Phone),
            session.gettext(SettingChoice.Addresses),
            session.gettext(SettingChoice.Cancel)
        ]);
    },
你尝试使用数组吗?在这里? ## C# 对于那些用C#构建他们的机器人,你只需要指定你的 PromptStyle至PromptStyle.PerLine

2018-02-07   #2

对于js:虽然'\ n'是通用换行符。对于C#SDK: Environment.NewLine。

2018-02-07   #3

Node.js

基于你提供的代码,我想你正在使用node.js 您可以看看Contoso-Flowers样本省由微软,微软认为 其settings函数:[code](https://github.com/Microsoft/BotBuilder- 样品/斑点/主/节点/演示-ContosoFlowers / bot / dialogs / settings.js)这里和 预览列表可见[这里](https://github.com/Microsoft/BotBuilder- 萨mples /树/主/节点/演示ContosoFlowers)。 以下是他们如何处理清单:

var SettingChoice = {
    Email: 'edit_email',
    Phone: 'edit_phone',
    Addresses: 'edit_addresses',
    Cancel: 'cancel'
};

var lib = new builder.Library('settings');
lib.dialog('/', [
    // Display options
    function (session) {
        builder.Prompts.choice(session, 'settings_intro', [
            session.gettext(SettingChoice.Email),
            session.gettext(SettingChoice.Phone),
            session.gettext(SettingChoice.Addresses),
            session.gettext(SettingChoice.Cancel)
        ]);
    },
你尝试使用数组吗?在这里? ## C# 对于那些用C#构建他们的机器人,你只需要指定你的 PromptStyle至PromptStyle.PerLine

2018-02-07   #4

尝试添加listStyle参数:

builder.Prompts.choice(
    session,
    "please select from options", 
    reportData,
    {listStyle: builder.ListStyle.list}
);
有关Bot框架文档中列表样式的更多信息: <HTTPS://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs- 对话框的提示>

登录后方可回帖

Loading...