user-interface - Slack Modal 视图:在最终提交之前将堆栈扩展至 3 个以上
问题描述
我正在开发一个 slack 机器人,它有超过 3 个模态,直到我将它提交给处理。根据 slack 文档,视图堆栈限制为 3,所以我虽然云只是关闭最旧的一个并释放一个插槽一个新的..不确定这是否有意义(我实际上试图将整个体验限制在这 3 种模式中)......在这种情况下是这样的:
斜线命令 --> views.open(向用户打开模式 step1 并发送空响应)。
用户提交第 1 步模态,我用下一个模态触发推送响应操作(第 2 步)。
同上...显示模式 step3 并查看值(我使用 Object Store -Mulesoft 存储它们)..
此提交对来自 step1 和 step2 模态的数据进行一些处理,并通过 IM 向用户响应结果
在第二步中,我尝试触发对views.push的POST,但提交的触发器ID 无效,必须是根据slack 的阻止操作的触发器ID。
在第 1 步和第 2 步模态中,我用 NEXT 替换了 SUBMIT 这个词,并且只在最后一个它说 SUBMIT。
一件事......我知道通过不关闭视图我可以关闭并有点“返回”......如果我扩展堆栈我会松动......
我试图在 view.open 上触发另一个 POST,但响应为空,而该 POST 的响应良好(确定:true)......在 UI 上......我收到错误“我们在连接时遇到问题。再试一次? ” 在“step1”模态中..
任何人都对如何从视图堆栈的底部关闭模式有任何想法,以便我可以添加一个新的等等?我知道用例可能不是最好的(松弛的应用程序应该使变薄更容易,而不是形成后形成..),但只想知道它是否可以完成)。
谢谢!
解决方案
好吧...自从我发布此内容以来,我已经走了很长一段路...我最终使用了 JS,但是如果您处于相同的情况,我想分享的一件事是,只要您使用同步确认响应提交(在 js 中更容易)模式将关闭,然后您可以发送/打开另一个模式,依此类推...
推荐阅读
- javascript - 从元素jQuery获取内联css宽度属性
- .net - 为什么在 UseMvc() 中定义路由之前需要调用 UseRewriter()?
- android - 如何允许在 Android 中覆盖库的字体系列
- excel - 查找最后一行会引发 object required 错误
- xamarin - Xamarin CarouselViewControl 支持自动滑动到下一项?
- javascript - 如何从外部 javascript 文件连接到 Django 数据库?
- javascript - 无法从 fetch api 加载 kibana 仪表板
- c# - 将下拉列表导出到 excel 以使用 EPPlus 过滤 Excel 数据。我们可以从数据库中包含下拉数据吗?
- android-studio - 创建新版本 App 后出现“App not installed”。[离子 3]
- javascript - 为什么我的函数只在按钮中的 onClick 事件上运行一次?