当用户提供准确的字符串时如何绕过表单流的 "did you mean"

How to bypass Form Flow's "did you mean" when user gives exact string

我的表单流中的一个字段提供了选项:"None"、“1”、“2”、“3”、“4”和 "More than 5"。当我选择选项“3”时,它会询问我 "Did you mean "3" 或 "4"?"

当提供的答案在选项中已经完全匹配时,有没有办法绕过 "did you mean"?

我唯一的选择是更改 wording/format 我的选项吗?

FormFlow 和 Dialogs 案例的简答:

当您键入“4”时,您的提示在基于 1 索引列表的第 4 个值(因此值为“3”)和与您的选项匹配的值“4”之间存在疑问。

如果您为您的字段指定一个专用的“识别器”,您应该避免这个问题(参见文档 here

注意:在 Dialog 中使用 PromptDialog.Choice 时会出现类似的问题,在 FormFlow 中不会。在这种情况下,使用布尔属性 recognizeChoicesrecognizeNumbersrecognizeOrdinals 会很有帮助。

对话案例的长答案:

您遇到的情况是您的值也是一个数字。

用于显示选项(PromptDialog.Choice 项)的提示能够分析您通过多种方式提供的值:

  • 识别选项:提示将尝试使用选项本身识别所选值
  • 识别数字:提示将尝试识别用户话语中的数字作为选择的索引 return
  • 识别序数:提示将尝试识别像“第一个”或“第二个”这样的序数作为 return.
  • 选项的索引

默认情况下,所有的识别器都是启用的。查看它们在框架中的使用here

禁用“数字”识别器将解决您的问题