如何在 bixby 上显示带有预填充选择和自定义输入字段的输入视图?
How can I display an input view on bixby with pre-populated selections AND a custom input field?
目前我正在尝试在交互后设置一些延续操作。一个这样的延续将向用户发送一封电子邮件,其中包含上次操作的结果。我设置了将获取电子邮件地址并发送电子邮件的操作。为了填写这个输入,我想提供 profile
/self
胶囊中包含的电子邮件地址作为选择选项,或者允许用户输入自定义电子邮件。
我设置了一个默认输入以从 profile
胶囊中获取电子邮件地址,然后将这些作为电子邮件输入的选项提供:
input (emailAddress) {
type (contact.EmailAddress)
instantiation-behavior (ShowDefaultValueDecision)
min (Required) max (One)
default-init {
intent {
goal: ReturnSelfEmail
}
}
}
然后我使用 selection-of
:
在 input-view
中显示它们
这是我的观点:
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
组件,但这不起作用。除了选择之外,关于如何拥有自定义输入选项的任何想法?还是另一种方法来处理选择不满足用户的情况?
渲染 selection-of
后无法渲染 form
。
我的 IDE 显示此错误 - 你的呢?
"Unreachable statement"表示那部分代码永远不会运行。
无论如何,一种可能的建模方法是提供用户真实电子邮件地址的选择视图,最后一个条目是一个名为 "input my own." 的虚拟电子邮件地址(这使用 selection-of
)
如果做出该选择,您可以在 JavaScript 中输入 error,然后重新计划目标,例如 EnterCustomEmail
。 (这使用 form
)。
这是解决问题的另一种方法。
在交互的result-view
中(假设在交互结束时发送邮件),我会问用户一个followup
问题"Should I send a confirmation email to the <email>
on your profile.?"
如果用户响应 "Yes",则与 on-confirm
的 goal
关联的 Action
将向用户发送电子邮件。
如果用户说 "No",与 on-deny
的 goal
关联的 Action
应该提示用户输入电子邮件地址。
这种方法使用了 Bixby 平台的对话功能,使这种互动成为 end-user 的更自然的体验。
目前我正在尝试在交互后设置一些延续操作。一个这样的延续将向用户发送一封电子邮件,其中包含上次操作的结果。我设置了将获取电子邮件地址并发送电子邮件的操作。为了填写这个输入,我想提供 profile
/self
胶囊中包含的电子邮件地址作为选择选项,或者允许用户输入自定义电子邮件。
我设置了一个默认输入以从 profile
胶囊中获取电子邮件地址,然后将这些作为电子邮件输入的选项提供:
input (emailAddress) {
type (contact.EmailAddress)
instantiation-behavior (ShowDefaultValueDecision)
min (Required) max (One)
default-init {
intent {
goal: ReturnSelfEmail
}
}
}
然后我使用 selection-of
:
input-view
中显示它们
这是我的观点:
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
组件,但这不起作用。除了选择之外,关于如何拥有自定义输入选项的任何想法?还是另一种方法来处理选择不满足用户的情况?
渲染 selection-of
后无法渲染 form
。
我的 IDE 显示此错误 - 你的呢?
"Unreachable statement"表示那部分代码永远不会运行。
无论如何,一种可能的建模方法是提供用户真实电子邮件地址的选择视图,最后一个条目是一个名为 "input my own." 的虚拟电子邮件地址(这使用 selection-of
)
如果做出该选择,您可以在 JavaScript 中输入 error,然后重新计划目标,例如 EnterCustomEmail
。 (这使用 form
)。
这是解决问题的另一种方法。
在交互的result-view
中(假设在交互结束时发送邮件),我会问用户一个followup
问题"Should I send a confirmation email to the <email>
on your profile.?"
如果用户响应 "Yes",则与 on-confirm
的 goal
关联的 Action
将向用户发送电子邮件。
如果用户说 "No",与 on-deny
的 goal
关联的 Action
应该提示用户输入电子邮件地址。
这种方法使用了 Bixby 平台的对话功能,使这种互动成为 end-user 的更自然的体验。