簡體   English   中英

如何在 Google 日歷附加卡中動態生成復選框?

[英]How to generate checkboxes dynamically in a Google Calendar add-on card?

我正在開發一個 Google 日歷插件來列出所選日歷中的所有事件。 現在我可以獲得當前用戶的日歷列表,但我不知道如何生成一組復選框。

var calendar = CardService.newSelectionInput()
.setType(CardService.SelectionInputType.CHECK_BOX)
.setTitle("Please choose the calendars.")
.setFieldName("calendar")
.addItem("common calendar", "commonCalendar",false)
.addItem("sales department calendar","salesDepartmentCalendar", false)
.addItem("development department calendar", "developmentDepartmentCalendar",false)

如果您正在尋找一種為日歷列表中的每個日歷添加復選框的方法,

您可以試試這個示例代碼:

  var card = CardService.newCardBuilder()
    .setName("Card name")
    .setHeader(CardService.newCardHeader().setTitle("Card title"));
  
  var widget = CardService.newSelectionInput()
  .setType(CardService.SelectionInputType.CHECK_BOX)
  .setTitle("Please choose the calendars.")
  .setFieldName("calendar");
  
  var calendarList = CalendarApp.getAllCalendars();
  Logger.log("Calendar Count:" + calendarList.length);
  
  
  //Add checkbox per calendar
  for (var i = 0; i < calendarList.length; i++) {
    var calendar = calendarList[i];
    Logger.log("calendar"+i);
    
    //Add Calendar as Item
    widget.addItem(calendar.getName(), "calendar"+i,false)
  }
  
  var cardSection = CardService.newCardSection().setHeader("Section header").addWidget(widget);
  return card.addSection(cardSection).build();

程序:

  1. 創建一個標題為“ Card title”的卡片。
  2. 創建一個字段名為“calendar”的選擇輸入
  3. 循環您的日歷列表,根據列表中每個日歷的日歷名稱將一個項目添加到您的選擇輸入 根據日歷循環索引 (calendar0, calendar1, .... ) 創建一個addItem() value參數
  4. 卡片部分使用addWidget()選擇輸入添加為小部件。
  5. 向卡片添加部分並構建卡片。

樣本 Output:

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM