你能阻止页面重新加载表单提交没有预防默认与苗条工具包?



我想在用户做某事时显示几秒钟的toast,例如:当他们登录到应用程序时。我使用/login/+page.svelte上的表单登录,在/login/page.server.js中进行数据库交互。我正在使用writable store来存储烤面包片。

提交表单时,页面刷新,因此我的存储被清空,toast丢失。事件流似乎是:

  • 提交表格给/login/page.server.js
  • page.server.js做了一些事情
  • page.server.js返回完整的页面,浏览器重新加载到新的完整页面。

我知道你可以使用preventdefault来防止所有这些步骤,但我只想防止重新加载。预防一切似乎不是最佳的(可能还有一些我甚至不知道我在预防的东西)。

是否有更好的page.sveltepage.server.js之间的交互方式没有重新加载(因此清除,可能所有,存储)比preventdefault +使用手动获取?

REPL我正在玩,这表明吐司一般保持完整3秒,但立即消失在正常形式提交。https://svelte.dev/repl/8b61434332ca471b83cbf039bf1f3fc9?version=3.22.0

表单的预期工作流程是使用表单操作和enhance,它自动异步处理表单(如果JS被禁用,则返回到硬重载)。

最新更新