DaisyUI의 버튼에는 loading 이 있다. https://daisyui.com/components/button/
그걸 사용하면 저장버튼이 두 번 눌리지 않게 할 수 있다.
<script>
import { applyAction, enhance } from "$app/forms";
import { goto, invalidateAll } from "$app/navigation";
</script>
<form
  use:enhance={({ form, data, action, cancel, submitter }) => {
  submitter.classList.add("loading");
  try{ 
    // todo
  } catch(e){
    submitter.classList.remove("loading");
    cancel();
  }
  return async ({ result, update }) => {
    if (result.type === "success") {
      goto("/list");
    } else {
      submitter.classList.remove("loading");
      await invalidateAll();
    }
    applyAction(result);
  };
}}>
 

 
    
Top comments (0)