微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Zapier CLI:当依赖字段更改时,如何清除输入字段的值?

如何解决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 举报,一经查实,本站将立刻删除。