首页 > 解决方案 > 如何在 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组件,但这不起作用。除了选择之外,关于如何拥有自定义输入选项的任何想法?或者另一种方法来处理选择不满足用户的情况?

标签: bixby

解决方案


这是解决问题的另一种方法。

result-view交互过程中(假设电子邮件是在交互结束时发送的),我会问用户一个followup问题“我应该向您的个人资料发送确认电子邮件<email>吗?”

如果用户回答“是”,则与Action相关goalon-confirm将向用户发送电子邮件。

如果用户说“否”,与forAction相关联的应该提示用户输入电子邮件地址。goalon-deny

这种方法使用 Bixby 平台的对话功能,使这种交互对最终用户来说是一种更自然的体验。


推荐阅读