修复:后台编辑用户弹窗改为直接传 Alpine $data,避免 querySelector 找到错误的 x-data 元素导致网络异常
This commit is contained in:
@@ -168,7 +168,7 @@
|
|||||||
class="mb-4 px-4 py-2 border-l-4 rounded text-sm font-bold" x-text="editToastMsg">
|
class="mb-4 px-4 py-2 border-l-4 rounded text-sm font-bold" x-text="editToastMsg">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<form @submit.prevent="submitEditUser($el)" method="POST">
|
<form @submit.prevent="submitEditUser($el, $data)" method="POST">
|
||||||
@csrf @method('PUT')
|
@csrf @method('PUT')
|
||||||
|
|
||||||
<div class="grid grid-cols-2 gap-4">
|
<div class="grid grid-cols-2 gap-4">
|
||||||
@@ -284,12 +284,10 @@
|
|||||||
/**
|
/**
|
||||||
* 用户编辑弹窗 AJAX 提交
|
* 用户编辑弹窗 AJAX 提交
|
||||||
* 避免传统表单导致 302 重定向,改为 fetch 就地显示结果
|
* 避免传统表单导致 302 重定向,改为 fetch 就地显示结果
|
||||||
|
* @param {HTMLFormElement} form Alpine $el(表单元素)
|
||||||
|
* @param {object} data Alpine $data(组件数据,直接传入避免 querySelector 查找失败)
|
||||||
*/
|
*/
|
||||||
async function submitEditUser(form) {
|
async function submitEditUser(form, data) {
|
||||||
// 由 x-data 上层访问 Alpine 状态
|
|
||||||
const el = document.querySelector('[x-data]');
|
|
||||||
const data = Alpine.$data(el);
|
|
||||||
|
|
||||||
data.editSaving = true;
|
data.editSaving = true;
|
||||||
data.editToast = false;
|
data.editToast = false;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user