1

我试试这段代码↓</p>

结果-view.view.bxb

    conversation-drivers {
    if (size(arrayItem) > 0) {      //arrayItem : item1, item2, item3
      conversation-driver {
        template-macro (arrayItemTempl){
          param (arrayItem){
            expression (arrayItem)
          }  
        }
      }
     }
    }

arrayItemTempl.dialog.bxb

template-macro-def (arrayItemTempl) {
  params {
    param (arrayItem) {
      type (ArrayItem)
      min (Optional) max (Many)
    }
  }
  content {
    template ("#{value(arrayItem)}")
  }
}

结果 在此处输入图像描述

对于每个错误,错误列表...如何在对话驱动程序和模板宏定义中循环

我希望每个项目都是分开的。[项目1,项目2,项目3] ---> [项目1] [项目2] [项目3]

4

2 回答 2

1

不幸的是,这是不可能的。您必须为conversation-driver每个项目手动定义一个。

conversation-drivers {
   conversation-driver {
     ...
   }
   conversation-driver {
     ...
   }
   conversation-driver {
     ...
   }
}

请记住,如果对话驱动程序太多,用户将需要滚动查看所有对话驱动程序。考虑不要有太多的对话驱动程序。

于 2020-09-15T17:48:40.377 回答
1

无法显示可变大小的对话驱动程序数组,并且此行为符合 Bixby 的设计原则

对话驱动程序旨在向用户展示合理的后续步骤。在适当范围的胶囊中,用户应该很少有超过 2-3 个后续步骤可供选择。根据经验,我会毫无理由地推荐不超过 4 个对话驱动程序。

此外,大量对话驱动程序可能会导致胶囊审批流程出现问题,该流程会审查所有针对市场的胶囊的用户体验。

我建议探索开发人员文档中提供的设计指南。设计对话和使用Bixby 视图设计指南将对您的用例特别有用。

于 2020-09-15T22:05:55.057 回答