reactjs - react-datepicker 与 react-final-form
问题描述
我在 react-final-form 中使用 react-datepicker。我正在使用具有多个步骤的模板https://codesandbox.io/s/km2n35kq3v?file=/index.js。问题是我无法将日期选择器集成到组件中。我的代码如下所示:
return (
<Field name={props.name} parse={() => true}>
{props => (
<DatePicker
locale="de"
placeholderText="Datum eingeben"
selected={startDate}
dateFormat="P"
openToDate={new Date()}
minDate={new Date()}
disabledKeyboardNavigation
name={props.name}
value={startDate}
onChange={(date) => setStartDate(date)}
/>
)}
</Field>
);
有谁知道我可以如何使用它,以便在表格末尾传递数据?
最好的祝福
解决方案
我使用了您发送的向导表单示例,并添加了与您类似的 DatePicker。 检查向导示例
但基本上,我改变了你的onChange
方法来实际使用react-final-form
field
道具。现在,它使用this.props.input.onChange
更新最终表单状态值,并用于this.props.input.value
设置选定状态(然后您可以将初始值加载到最终表单中):
const RenderDatePicker = ({ name, input, input: { value, onChange } }) => {
return (
<DatePicker
locale="de"
placeholderText="Datum eingeben"
dateFormat="P"
selected={value && isValid(value) ? toDate(value) : null} // needs to be checked if it is valid date
disabledKeyboardNavigation
name={name}
onChange={(date) => {
// On Change, you should use final-form Field Input prop to change the value
if (isValid(date)) {
input.onChange(format(new Date(date), "dd-MM-yyyy"));
} else {
input.onChange(null);
}
}}
/>
);
};
<div>
<label>Date of birth</label>
<Field
name="dateOfBirth"
component={RenderDatePicker}
validate={required}
/>
<Error name="dateOfBirth" />
</div>
希望这对您有所帮助。
推荐阅读
- python - Pyinstaller EXE 文件在启动时崩溃
- node-red - 节点红色网页未加载
- python - 迭代 QTreeView 行
- amazon-web-services - 如何使用 CloudFormation 从别名获取 AWS SSM Key Arn?
- excel - 在列中查找包含文本且在字符串的前 6 个字符中不包含特定单词的单元格
- r - 在 R 中绘制 glm 会引发关于 x 和 y 中的行数的错误
- angular - 仅在创建元素后使用 @ViewChild 获取 html 元素
- c# - 如何找到场景中附加特定组件的对象数量?
- css - 如何同时进行按钮和输入框过渡?
- python - Google Colaboratory - 超出最大调用堆栈大小