我的惯性/反应有点问题。 问题是,当我从表中删除一条记录时,我希望 tr 具有淡出效果(或任何效果) 问题是,如果我尝试在成功中添加效果,效果将从下面的 tr 中获取。 我正在使用 useForm() 的 formDelete 方法。
这是代码:
const UsersContent = ({ users, flash }) => {
const { delete: formDelete } = useForm();
const [message, setMessage] = useState(flash.message);
console.log(message);
useEffect(() => {
const timer = setTimeout(() => {
setMessage(null);
}, 3000);
return () => clearTimeout(timer);
}, [message]);
const handleSubmit = (e) => {
e.preventDefault();
const userId = e.target.id;
const tr = e.target.closest('tr');
formDelete(route('users.destroy', userId), {
onSuccess: () => {
tr.classList.add('fadeout');
setTimeout(() => {
tr.remove();
}, 2000);
setMessage({ tipo: 'success', testo: `Utente ${userId} cancellato correttamente` });
},
onError: () => {
setMessage({ tipo: 'danger', testo: `Errore durante la cancellazione dell'utente ${userId}` });
}
});
}
return (//code )
谢谢大家。
我原本期望对 tr 产生影响,我会用 formDelete 删除它,但效果却被下面的 tr 收到了
尝试在你的handleSubmit中使用它
从'@inertiajs/react'导入{router};
router.reload({ 仅: ['用户'] })
https://inertiajs.com/partial-reloads
正如你在惯性.doc中看到的那样
ps: 甚至粘贴你的控制器以便更清晰