【发布时间】:2020-08-20 16:43:57
【问题描述】:
我正在尝试将字段键入数字:
<Form
onSubmit={onSubmit}
initialValues={{ target_type_id: 1 }}
render={({ handleSubmit, form, submitting, pristine, values }) => (
<form onSubmit={handleSubmit}>
<Field<number> name="target_type_id" type="radio" value={1}>
{({ input }) => (
<label>
<input {...input} /> Alert
</label>
)}
</Field>
<Field<number> name="target_type_id" type="radio" value={2}>
{({ input }) => (
<label>
<input {...input} /> Lookout
</label>
)}
</Field>
<Field<number> name="target_type_id" type="radio" value={3}>
{({ input }) => (
<label>
<input {...input} /> Target
</label>
)}
</Field>
<Field<number> name="target_type_id" type="radio" value={4}>
{({ input }) => (
<label>
<input {...input} /> Blitz
</label>
)}
</Field>
<pre style={{ flexGrow: 1 }}>
{JSON.stringify(values, undefined, 2)}
</pre>
</form>
)}
/>
但是,当我单击单选按钮时,捕获的值是一个字符串,因此它与 Field 中指定的数值不匹配
有什么方法可以将值捕获为字符串以外的数据类型?
【问题讨论】:
-
在 html 中一切都是字符串。您可以分配一个数字,但是当您检索它时,它将是一个字符串。但它很简单,您可以将其转换回来做
let nun = Number(stringValue)
标签: reactjs react-final-form final-form