This commit is contained in:
LazuliKao 2024-09-24 21:21:51 +08:00
parent 805e7869fc
commit 4b7923c997
4 changed files with 62 additions and 60 deletions

View file

@ -5,6 +5,6 @@ import ReactChild from "./react/join.tsx";
<BaseLayout title="加入我们"> <BaseLayout title="加入我们">
<main> <main>
<ReactChild /> <ReactChild client:load />
</main> </main>
</BaseLayout> </BaseLayout>

View file

@ -5,6 +5,6 @@ import ReactChild from "./react/list.tsx";
<BaseLayout title="加入我们"> <BaseLayout title="加入我们">
<main> <main>
<ReactChild /> <ReactChild client:load />
</main> </main>
</BaseLayout> </BaseLayout>

View file

@ -12,7 +12,6 @@ export default function JoinForm() {
qq: "", qq: "",
email: "", email: "",
}) })
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => { const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
const { name, value } = e.target const { name, value } = e.target
setFormData(prevData => ({ setFormData(prevData => ({
@ -20,71 +19,78 @@ export default function JoinForm() {
[name]: value, [name]: value,
})) }))
} }
const handleSubmit = async () => { const handleSubmit = async () => {
try { try {
await activeClient.freshman.postFreshmanAdd({ await activeClient.freshman.postFreshmanAdd({
requestBody: formData, requestBody: formData,
}) })
alert("Form submitted successfully!") alert("提交成功! 后续请加群获取!")
} }
catch (error) { catch (error) {
console.error("Error submitting form:", error) console.error("Error submitting form:", error)
alert("Failed to submit form.") alert("Failed to submit form.")
} }
} }
return ( return (
<div> <div>
<Card> <form>
<CardBody> <Card>
<Input <CardBody>
name="name" <Input
placeholder="姓名" name="name"
value={formData.name} placeholder="姓名"
onChange={handleChange} value={formData.name}
/> onChange={handleChange}
<Input required
name="class" />
placeholder="班级" <Input
value={formData.class} name="class"
onChange={handleChange} placeholder="班级"
/> value={formData.class}
<Input onChange={handleChange}
name="number" required
placeholder="学号" />
value={formData.number} <Input
onChange={handleChange} name="number"
/> placeholder="学号"
<Input value={formData.number}
name="major" onChange={handleChange}
placeholder="专业" required
value={formData.major} />
onChange={handleChange} <Input
/> name="major"
<Input placeholder="专业"
name="phone" value={formData.major}
placeholder="电话" onChange={handleChange}
value={formData.phone} required
onChange={handleChange} />
/> <Input
<Input name="phone"
name="qq" placeholder="电话"
placeholder="QQ" value={formData.phone}
value={formData.qq} onChange={handleChange}
onChange={handleChange} required
/> />
<Input <Input
name="email" name="qq"
placeholder="邮箱" placeholder="QQ"
value={formData.email} value={formData.qq}
onChange={handleChange} onChange={handleChange}
/> required
</CardBody> />
<CardFooter> <Input
<Button onClick={handleSubmit}></Button> name="email"
</CardFooter> placeholder="邮箱"
</Card> value={formData.email}
onChange={handleChange}
required
/>
</CardBody>
<CardFooter>
<Button onClick={handleSubmit}></Button>
</CardFooter>
</Card>
</form>
</div> </div>
) )
} }

View file

@ -18,7 +18,7 @@ const FreshmanList = () => {
list: [], list: [],
total: 0, total: 0,
}) })
const [currentPage, setCurrentPage] = useState(0) const [currentPage] = useState(1) // setCurrentPage
useEffect(() => { useEffect(() => {
const fetchFreshmen = async () => { const fetchFreshmen = async () => {
const result = await activeClient.freshman.getFreshmanList({ const result = await activeClient.freshman.getFreshmanList({
@ -28,13 +28,9 @@ const FreshmanList = () => {
} }
fetchFreshmen() fetchFreshmen()
}, []) }, [])
setTimeout(() => {
setCurrentPage(1)
}, 1000)
return ( return (
<div> <div>
<Card> <Card>
{JSON.stringify(freshmen)}
<CardBody> <CardBody>
{freshmen.list.map(freshman => ( {freshmen.list.map(freshman => (
<div key={freshman.number}> <div key={freshman.number}>