首页 > 解决方案 > 下拉列表的 cardservice 和 additem:如何添加数组?

问题描述

我想在 cardservice 部分“additem”中添加一组元素。我对卡服务不熟悉。

   function myFunction() {
var action = CardService.newAction().setFunctionName('notificationCallback');
var pratiche =["ciaone","ciao","ciao2","ciao3"]


return CardService
     .newCardBuilder()
     .setHeader(
         CardService.newCardHeader()
             .setTitle('Elenco operazioni rapide')
             .setSubtitle('Inserisci rapidamente gli eventi con questi tasti'))

     .addSection(
          CardService.newCardSection()
              .addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.DROPDOWN)
              .setTitle("A group of checkboxes. Multiple selections are allowed.")
                 .setFieldName("CLIENTI")
                 .addItem(pratiche, "checkbox_one_value", false)


                 .setOnChangeAction(CardService.newAction().setFunctionName('notificationCallback')))
                 .addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.DROPDOWN)
              .setTitle("A group of checkboxes. Multiple selections are allowed.")
                 .setFieldName("PRATICHE")
                 .addItem("Elenco clienti2", "checkbox_two_value", false)
              .setOnChangeAction(CardService.newAction().setFunctionName('inseriscievento')))
              .addWidget(CardService.newTextButton().setText('Telefonata').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action))
              .addWidget(CardService.newTextButton().setText('Incontro').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action)))



     .build();
     }

Peraphs 这很容易,但......不是运行。我也试过 pratache[]...not runs...我还想为 additem 插入一个 for 循环,但它没有运行。

标签: google-apps-script

解决方案


  • 您需要将每个下拉选项添加为单独的item
  • 如果您想使用复选框而不是下拉菜单 - 请使用CardService.SelectionInputType.CHECK_BOX

    代替

    CardService.SelectionInputType.DROPDOWN

样本

function myFunction() {
  var action = CardService.newAction().setFunctionName('notificationCallback');
  var pratiche =["ciaone","ciao","ciao2","ciao3"]


  return CardService
  .newCardBuilder()
  .setHeader(
    CardService.newCardHeader()
    .setTitle('Elenco operazioni rapide')
    .setSubtitle('Inserisci rapidamente gli eventi con questi tasti'))  
  .addSection(
    CardService.newCardSection()
    .addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.CHECK_BOX)
               .setTitle("A group of checkboxes. Multiple selections are allowed.")
               .setFieldName("CLIENTI")
               .addItem(pratiche[0], "checkbox_one_value", false)
               .addItem(pratiche[1], "checkbox_one_value", false)
               .addItem(pratiche[2], "checkbox_one_value", false)
               .addItem(pratiche[3], "checkbox_one_value", false)               
               .setOnChangeAction(CardService.newAction().setFunctionName('notificationCallback')))
    .addWidget(CardService.newSelectionInput().setType(CardService.SelectionInputType.DROPDOWN)
               .setTitle("A group of checkboxes. Multiple selections are allowed.")
               .setFieldName("PRATICHE")
               .addItem("Elenco clienti2", "checkbox_two_value", false)
               .setOnChangeAction(CardService.newAction().setFunctionName('inseriscievento')))
    .addWidget(CardService.newTextButton().setText('Telefonata').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action))
    .addWidget(CardService.newTextButton().setText('Incontro').setTextButtonStyle(CardService.TextButtonStyle.FILLED).setOnClickAction(action)))  
  .build();
}

您也可以使用循环来执行此操作:

  var widget = CardService.newSelectionInput()  
  widget.setType(CardService.SelectionInputType.CHECK_BOX)
  .setTitle("A group of checkboxes. Multiple selections are allowed.")
  .setFieldName("CLIENTI")
  .setOnChangeAction(CardService.newAction().setFunctionName('notificationCallback'))
  for(var i = 0; i < pratiche.length; i++){
    widget.addItem(pratiche[i], "checkbox_one_value", false)
  }             

  return CardService
  .newCardBuilder()
  .setHeader(
    CardService.newCardHeader()
    .setTitle('Elenco operazioni rapide')
    .setSubtitle('Inserisci rapidamente gli eventi con questi tasti'))  
  .addSection(
    CardService.newCardSection()
    .addWidget(widget)
     ...   
  ).build();

推荐阅读