Zapier CLI:当依赖字段更改时,如何清除输入字段的值?
Posted
技术标签:
【中文标题】Zapier CLI:当依赖字段更改时,如何清除输入字段的值?【英文标题】:Zapier CLI : How do you clear the value of an input filed when dependent field changes? 【发布时间】:2021-09-07 22:19:07 【问题描述】:我正在使用 Zapier CLI 构建一个 Zapier 应用程序。
我创建了 2 个动态输入字段,均由 API 填充。
字段 2 (channelId
) 取决于字段 1 (appId
) 中的选择。
inputFields: [
key: 'appId',
label: 'App',
required: true,
type: 'text',
helpText: 'Choose the App',
dynamic: 'app.id.display_name',
altersDynamicFields:true,
,
key: 'channelId',
label: 'Channel',
required: true,
type: 'string',
helpText: 'Choose the Channel',
dynamic: 'channel.channel',
]
这在用户第一次做出选择时效果很好。
但是,如果他们同时选择这两个选项,然后更改字段 1 (appId
),则不会清除字段 2 (channelId
) 中的选择
如果您重新打开菜单,您会看到新的选择 - 因此perform
函数正在资源中运行,但之前选择的值不会被清除 - 留下无效的选择。
当改变它的字段改变时,如何确保从属字段被清除?
【问题讨论】:
【参考方案1】:好问题! altersDynamicFields
属性名称容易混淆。它与custom/dynamic fields 相关联,在其中动态地从表单中添加和删除字段。因为channelId
始终存在,所以appId
更改时不会重新计算。
作为一种解决方案,您可以制作 channelId
自定义字段。它会一直存在,但是当appId
发生变化时,它会被正确地失效(我认为):
inputFields: [
key: 'appId',
label: 'App',
required: true,
type: 'text',
helpText: 'Choose the App',
dynamic: 'app.id.display_name',
altersDynamicFields:true,
,
// functions are re-run when fields with `altersDynamicFields: true` are changed
() => [
key: 'channelId',
label: 'Channel',
required: true,
type: 'string',
helpText: 'Choose the Channel',
dynamic: 'channel.channel',
]
]
【讨论】:
以上是关于Zapier CLI:当依赖字段更改时,如何清除输入字段的值?的主要内容,如果未能解决你的问题,请参考以下文章
Zapier CLI - 在资源中我如何提及 UPDATE 方法
Zapier CLI,在 inputFields 上使用选项在创建新 Zap 时不会在表单中显示