将列表样式应用于botframework v4选择提示:NodeJS

时间:2019-07-16 05:16:29

标签: node.js botframework

嗨,我正在尝试在botbuilder-dialog的选择中添加列表样式; Botframework v4,NodeJS。

我正在尝试使用下面的代码来实现它,但是列表样式似乎对选择没有任何影响。它应该提示一个带编号的列表,但会提示一个类似列表的按钮。

const{ChoicePrompt, ListStyle} = require('botbuilder-dialogs');
const CHOICE_PROMPT = 'CHOICE_PROMPT';

//Set up ChoicePrompt
var cp = new ChoicePrompt(CHOICE_PROMPT);
cp.Style = ListStyle.list;
this.addDialog(cp);

this.choicesX = ['Pick1', 'Pick2', 'Pick3'];


//function
async test(stepContext){
    return await stepContext.prompt(CHOICE_PROMPT, {
        prompt: 'Select item:',
        choices: this.choicesX
    });
}

在选择提示中添加列表样式的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

这似乎是这个StackOverflow问题的重复;但是,答案是在C#中。这就是在Node SDK中设置样式提示选项的方式。

Node SDK v4.5

const { ListStyle, ... } = require('botbuilder-dialogs');

async transportStep(step) {
    // WaterfallStep always finishes with the end of the Waterfall or with another dialog; here it is a Prompt Dialog.
    // Running a prompt here means the next WaterfallStep will be run when the users response is received.
    return await step.prompt(CHOICE_PROMPT, {
        prompt: 'Please enter your mode of transport.',
        choices: ChoiceFactory.toChoices(['Car', 'Bus', 'Bicycle']),
        style: ListStyle.list
    });
}

列表样式选项为noneautoinlinelistsuggestedActionheroCard

希望这会有所帮助!