我正在尝试将react-day-picker
'sDayPicker
与react-final-form
.
React Final Form 需要Field
为每个表单字段使用一个,这意味着只要您希望第三方表单元素在表单中可用,就创建一个适配器组件。适配器组件必须接受一个input
包含value
andonChange
的对象。建议只是提供一个新的onChange
.
这种适用于许多其他组件的方法不适用于DayPicker
. 似乎问题在于DayPicker
它实际上没有onChange
方法,因此由我们来管理日历更改时会发生什么,然后将日期存储在期望的value
属性中。react-final-form
我在这里创建了一个codepen:https ://codesandbox.io/s/github/pcraig3/date-picker-sandbox
我有一种handleDayClick
方法,Calendar.js
可以在单击天数时运行,但onChange
不会始终为日历触发。
selectedDays
正在其Calendar
自身内立即更新,但Form
在日历未聚焦之前无法获得正确的日期- 表单的
validate
方法只被调用一次(第一次选择一天),而每次更新原生文本输入值时都会调用它。
我希望表单值与日历的外部状态同步,并且每次单击/取消单击一天时都会触发 validate 方法。这有可能实现还是我做错了事?