自定义Integromat应用中的输入参数不带“ name”属性

时间:2020-09-24 11:53:29

标签: integromat integromat-apps

我正在尝试创建一个下拉参数(类型为“ select”),并且该参数应包含两组嵌套参数。但是,我不需要将此顶级参数传递给API。我尝试删除该参数的“名称”属性,但是当再次打开该模块时,它不记得用户的选择。如何在请求中仅包含嵌套字段,而在父项中不包含

[
  {
    "type": "select",
    "label": "Select",
    "options": [
      {
        "label": "A",
        "value": "a",
        "nested": [
          {
            "name": "a",
            "type": "text",
            "label": "a nested"
          }
        ]
      },
      {
        "label": "B",
        "value": "b",
        "nested": [
          {
            "name": "b",
            "type": "text",
            "label": "b nested"
          }
        ]
      }
    ]
  }
]

2 个答案:

答案 0 :(得分:1)

目前无法省略名称或排除输入参数。我们正计划添加一个新标志,该标志允许您排除像这样的特定字段,但是现在您必须在模块通信中过滤掉此参数。

您可以使用自定义Javascript函数,在其中可以删除所有冗余参数。

例如

通讯

{
   "body": "{{prepareBody(body)}}"
}

答案 1 :(得分:1)

添加到Petr Malimánek's answer中后,如果您事先不知道需要删除哪些参数,则可以将其名称作为输入参数传递,如下所示:

function omit(collection, ...fields) {
    const result = {};
        
    for (let key in collection) {
        if (!fields.includes(key)) {
            result[key] = collection[key];
        }
    }
        
    return result;
}