如何解决Zapier CLI:当依赖字段更改时,如何清除输入字段的值?
我正在使用 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',type: 'string',helpText: 'Choose the Channel',dynamic: 'channel.channel',}
]
但是,如果他们同时选择两个选项,然后更改字段 1 (appId
),则不会清除字段 2 (channelId
) 中的选择
如果您重新打开菜单,您会看到新的选择 - 因此 perform
函数正在资源中运行,但之前选择的值没有被清除 - 留下无效的选择。
当改变它的字段发生变化时,你如何确保从属字段被清除?
解决方法
好问题! 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',type: 'string',helpText: 'Choose the Channel',dynamic: 'channel.channel',}]
]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。