对于上下文,在我的第一次单击中,两个输入都为null。然后在我的第二次尝试onclick中,输入结果来自第一次单击。在我的第三次尝试onclick中,输入结果来自第二次单击。我想知道为什么会发生这种情况?似乎数据发送缓慢...我尝试输入await setData( data => ({...data, user_id: userId, user_name: userName}) )
,但它不起作用。
我该如何修复这个问题?下面是我的代码,
export default function SenaraiJualan({ app, auth, sales, action = 'create', sale }) {
const { data, setData, post, put, errors, reset } = useForm({
user_id: sale?.user_id ?? '',
user_name: sale?.user_name ?? '',
});
const handleSubmit = async (e, userId, userName) => {
e.preventDefault()
setData( data => ({...data, user_id: userId, user_name: userName}) )
console.log('handleSubmit called')
try {
switch (action) {
case "create":
await post(route("hantar.katalaluanpdf"))
Swal.fire({
text: "Kata laluan PDF telah berjaya dihantar",
icon: "success",
});
break;
}
} catch (error) {
Swal.fire({
text: error,
icon: "error",
});
}
};
return (
...........
<button onClick={ (e) => handleSubmit(e, sale.user_id, sale.user_name )} >
<RiLockPasswordLine
className=" h-4 w-4"
data-tooltip-id="my-tooltip"
data-tooltip-content="Hantar Kata Laluan"
/>
</button>
...........
控制器
public function hantarpassword(Request $request)
{
// Email
// user_id
$user_id = $request->user_id;
$user_name = $request->user_name;
dd($user_id, $user_name);
$user_name_upper = strtoupper($user_name);
// Generate password for PDF
$userId = substr($user_id, -4);
$user_name2 = substr($user_name_upper, 0, 5);
$password = $userId . $user_name2;
Mail::send([], [], function ($message) use ($user_name, $password) {
$message->to('jabri@devwiz.my');
$message->from(config('mail.from.address'), config('mail.from.name'));
$message->subject("Permintaan set kata laluan pdf baru... ");
$message->html('<html> Tuan/Puan ' . $user_name . ', <html>
<br> <html> Berikut adalah Kata Laluan anda untuk akses ke Dokumen RT: ' . $password . ' <br> <html>
Jika anda tidak pernah membuat permintaan, email anda mungkin tersalah isi oleh orang lain. Anda boleh padam email ini dengan selamat.<html>');
});
}
1条答案
按热度按时间qij5mzcb1#
我相信您正在使用react并试图设置状态值。如果是这种情况,状态需要时间来更改值;这就是为什么会出现这个问题,并且它的值不会在该函数中更改。