当用户提供准确的字符串时如何绕过表单流的 "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 中不会。在这种情况下,使用布尔属性 recognizeChoices
、recognizeNumbers
和 recognizeOrdinals
会很有帮助。
对话案例的长答案:
您遇到的情况是您的值也是一个数字。
用于显示选项(PromptDialog.Choice
项)的提示能够分析您通过多种方式提供的值:
- 识别选项:提示将尝试使用选项本身识别所选值
- 识别数字:提示将尝试识别用户话语中的数字作为选择的索引 return
- 识别序数:提示将尝试识别像“第一个”或“第二个”这样的序数作为 return.
选项的索引
默认情况下,所有的识别器都是启用的。查看它们在框架中的使用here
禁用“数字”识别器将解决您的问题
我的表单流中的一个字段提供了选项:"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 中不会。在这种情况下,使用布尔属性 recognizeChoices
、recognizeNumbers
和 recognizeOrdinals
会很有帮助。
对话案例的长答案:
您遇到的情况是您的值也是一个数字。
用于显示选项(PromptDialog.Choice
项)的提示能够分析您通过多种方式提供的值:
- 识别选项:提示将尝试使用选项本身识别所选值
- 识别数字:提示将尝试识别用户话语中的数字作为选择的索引 return
- 识别序数:提示将尝试识别像“第一个”或“第二个”这样的序数作为 return. 选项的索引
默认情况下,所有的识别器都是启用的。查看它们在框架中的使用here
禁用“数字”识别器将解决您的问题