首页 > 解决方案 > Slack Modal 视图:在最终提交之前将堆栈扩展至 3 个以上

问题描述

我正在开发一个 slack 机器人,它有超过 3 个模态,直到我将它提交给处理。根据 slack 文档,视图堆栈限制为 3,所以我虽然云只是关闭最旧的一个并释放一个插槽一个新的..不确定这是否有意义(我实际上试图将整个体验限制在这 3 种模式中)......在这种情况下是这样的:

  1. 斜线命令 --> views.open(向用户打开模式 step1 并发送空响应)。

  2. 用户提交第 1 步模态,我用下一个模态触发推送响应操作(第 2 步)。

  3. 同上...显示模式 step3 并查看值(我使用 Object Store -Mulesoft 存储它们)..

  4. 此提交对来自 step1 和 step2 模态的数据进行一些处理,并通过 IM 向用户响应结果

在第二步中,我尝试触发对views.push的POST,但提交的触发器ID 无效,必须是根据slack 的阻止操作的触发器ID。

在第 1 步和第 2 步模态中,我用 NEXT 替换了 SUBMIT 这个词,并且只在最后一个它说 SUBMIT。

一件事......我知道通过不关闭视图我可以关闭并有点“返回”......如果我扩展堆栈我会松动......

我试图在 view.open 上触发另一个 POST,但响应为空,而该 POST 的响应良好(确定:true)......在 UI 上......我收到错误“我们在连接时遇到问题。再试一次? ” 在“step1”模态中..

任何人都对如何从视图堆栈的底部关闭模式有任何想法,以便我可以添加一个新的等等?我知道用例可能不是最好的(松弛的应用程序应该使变薄更容易,而不是形成后形成..),但只想知道它是否可以完成)。

谢谢!

标签: user-interfaceslackslack-apimulesoft

解决方案


好吧...自从我发布此内容以来,我已经走了很长一段路...我最终使用了 JS,但是如果您处于相同的情况,我想分享的一件事是,只要您使用同步确认响应提交(在 js 中更容易)模式将关闭,然后您可以发送/打开另一个模式,依此类推...


推荐阅读