我想使用 use:enhance 动态更改操作路径。
但是,我的代码没有按我的预期工作。它总是重定向到“?/错误”。不是“?/a”
<script>
import { enhance } from "$app/forms";
/** @type {import("./$types").SubmitFunction} */
const handleSubmit = ({formData, action}) => {
switch(formData.get("type")) {
case "a":
action = new URL("?/a", action);
console.log(action) // action changed.
break;
// And So On...
}
}
</script>
<form action="?/error" use:enhance={handleSubmit}>
<button name="type" value="a">Submit</button>
</form>
如果有的话,您将必须修改源事件对象;修改解构的原始值不会影响它。但 SvelteKit 也不关心这一点。
您应该只在模板中更改它,按钮本身就可以做到这一点。例如
(您还需要发布,以防丢失)