feat: add calibres data and update firearm form to use select input for calibre

This commit is contained in:
2026-04-25 11:06:49 +08:00
parent 3f3ff08d25
commit 0a2f58a91b
2 changed files with 36 additions and 3 deletions
+13 -3
View File
@@ -1,5 +1,6 @@
import { Form, Input, InputNumber, Select } from "antd"
import { AddFirearmRequest, FirearmType } from "@/types"
import calibres from "@/constant/calibres.json"
const firearmTypeText: Record<FirearmType, string> = {
RIFLE: "步枪",
@@ -12,6 +13,11 @@ const firearmTypeText: Record<FirearmType, string> = {
SPECIAL: "特殊",
}
const calibreOptions = calibres.map((calibre) => ({
value: calibre,
label: calibre,
}))
interface FirearmFormProps {
form: ReturnType<typeof Form.useForm<AddFirearmRequest>>[0]
onFinish: (values: AddFirearmRequest) => void
@@ -53,9 +59,14 @@ export default function FirearmForm({ form, onFinish }: FirearmFormProps) {
<Form.Item<AddFirearmRequest>
name="calibre"
label="子弹口径"
rules={[{ required: true, message: "请输入子弹口径" }]}
rules={[{ required: true, message: "请选择子弹口径" }]}
>
<Input placeholder="例如:5.56x45mm" />
<Select
placeholder="请选择子弹口径"
showSearch
optionFilterProp="label"
options={calibreOptions}
/>
</Form.Item>
<Form.Item<AddFirearmRequest>
@@ -88,4 +99,3 @@ export default function FirearmForm({ form, onFinish }: FirearmFormProps) {
</Form>
)
}