bixby - 如何在 bixby 上显示带有预填充选项和自定义输入字段的输入视图?
问题描述
目前,我正在尝试在交互后设置一些继续操作。一个这样的延续将向用户发送一封电子邮件,其中包含最后一个操作的结果。我设置了将获取电子邮件地址并发送电子邮件的操作。要填写此输入,我想提供profile
/self
胶囊中包含的电子邮件地址作为选择选项,或者允许用户输入自定义电子邮件。
我设置了一个默认输入以从profile
胶囊中获取电子邮件地址,然后将这些作为电子邮件输入的选项提供:
input (emailAddress) {
type (contact.EmailAddress)
instantiation-behavior (ShowDefaultValueDecision)
min (Required) max (One)
default-init {
intent {
goal: ReturnSelfEmail
}
}
}
input-view
然后我在using中显示它们selection-of
:
这是我的看法:
input-view {
match: contact.EmailAddress(this) {
to-input: EmailResults
}
message ("What is your Email address?")
render{
selection-of (this) {
where-each (email) {
paragraph {
value {
template ("#{value(email)}")
}
style (Detail_M)
}
}
}
form {
elements {
text-input {
id (emailAddress)
label("Email Address")
required (true)
type (contact.EmailAddress)
}
}
on-submit {
goal: contact.EmailAddress
value: viv.core.FormElement(emailAddress)
}
}
}
}
在那个视图中,我也尝试添加一个form
组件,但这不起作用。除了选择之外,关于如何拥有自定义输入选项的任何想法?或者另一种方法来处理选择不满足用户的情况?
解决方案
这是解决问题的另一种方法。
在result-view
交互过程中(假设电子邮件是在交互结束时发送的),我会问用户一个followup
问题“我应该向您的个人资料发送确认电子邮件<email>
吗?”
如果用户回答“是”,则与Action
相关goal
的on-confirm
将向用户发送电子邮件。
如果用户说“否”,与forAction
相关联的应该提示用户输入电子邮件地址。goal
on-deny
这种方法使用 Bixby 平台的对话功能,使这种交互对最终用户来说是一种更自然的体验。
推荐阅读
- python - Pandas Dataframe:在比较来自不同时区的数据时,如何考虑日期时间 DST
- xslt - 如何从文本节点中去除尾随句号(句点)
- javascript - 如何对数组进行排序,以便在第一个位置获得特定值?
- mercurial - 如何启用 Mercurial 主题(它是否是“实时”功能)?
- python - 循环不使用 Selenium 迭代,for 循环遍历列表
- javascript - 用于移动问题的 Swiper 初始化脚本
- qt - 如何设置突出显示始终适合它的 ListView
- r - 使用多个数据框绘制多条线时从 ggplot 中省略 NA 值
- bash - lftp bash 脚本文件意外结束
- php - WooCommerce:包含 php 文件的函数未在正确的时间执行