在React.js中,实现单击时生成表单提交通知的动画可以通过以下步骤完成:
anime.js
或react-spring
)来创建更复杂的动画。以下是一个使用React.js和CSS实现单击时生成表单提交通知动画的示例:
import React, { useState } from 'react';
import './FormAnimation.css';
function FormAnimation() {
const [isSubmitting, setIsSubmitting] = useState(false);
const handleSubmit = (event) => {
event.preventDefault();
setIsSubmitting(true);
setTimeout(() => {
setIsSubmitting(false);
// 这里可以添加实际的表单提交逻辑
}, 2000); // 模拟2秒的处理时间
};
return (
<div>
<form onSubmit={handleSubmit}>
<input type="text" name="name" placeholder="Your Name" required />
<button type="submit" disabled={isSubmitting}>
{isSubmitting ? 'Submitting...' : 'Submit'}
</button>
</form>
{isSubmitting && <div className="notification">Submitting...</div>}
</div>
);
}
export default FormAnimation;
.notification {
position: fixed;
bottom: 20px;
right: 20px;
background-color: #4caf50;
color: white;
padding: 15px;
border-radius: 5px;
animation: fadeInOut 2s ease-in-out;
}
@keyframes fadeInOut {
0%, 100% { opacity: 0; }
50% { opacity: 1; }
}
useState
来跟踪表单提交的状态。handleSubmit
函数中,设置isSubmitting
为true
,并在2秒后重置为false
(模拟处理时间)。fadeInOut
来实现通知的淡入淡出效果。setTimeout
的时间以匹配动画的持续时间。will-change
属性或优化CSS选择器。通过这种方式,可以在React.js应用中实现一个简单而有效的表单提交通知动画。
领取专属 10元无门槛券
手把手带您无忧上云