我在使用ExtReact 6.5.2绑定两个日期选择器("begin“和”end“)的minDate和maxDate时遇到了问题。以下是代码示例:
import React, { Component } from 'react';
import { Container, DatePickerField, FormPanel, TextField } from '@extjs/ext-react';
export default class MyExample extends Component {
constructor(props) {
super(props);
this.state = {
beginPickerValue: null,
endPickerValue: null
};
}
render() {
return (
<Container layout="center">
<FormPanel
defaults={{ clearable: true, editable: false }}
shadow
>
<DatePickerField
label="Begin"
onChange={(datePicker, newValue) => this.setState({beginPickerValue: newValue})}
maxValue={this.state.endPickerValue}
/>
<DatePickerField
label="End"
onChange={(datePicker, newValue) => this.setState({beginPickerValue: newValue})}
minValue={this.state.endPickerValue}
/>
</FormPanel>
</Container>
)
}
}在我的设置中,使用Chrome时,我得到以下错误:
Uncaught Error: Date object or string in dateFormat required
at new Ext.Error (ext.js:5817)
at Function.raise (ext.js:5843)
at Object.Ext.raise (ext.js:5860)
at constructor.applyMaxDate (ext.js:59619)
at constructor.setter [as setMaxDate] (ext.js:8892)
at Ext.Configurator.configure (ext.js:9171)
at constructor.initConfig (ext.js:9771)
at constructor (ext.js:13108)
at constructor (ext.js:23660)
at constructor.callParent (ext.js:9746)我在DatePickerField的Sencha "Examples“部分使用了上面的完全相同的代码(参见下面的链接)。代码运行并呈现字段,但在设置日期时似乎没有观察到最大和最小绑定。
请注意,在撰写本文时,为了演示,您必须在ExtReact 6.5.1 docs中使用Sencha的"Examples“代码块进行复制。在6.5.2或6.5.3版本中使用DatePickerField示例代码块时,即使在尝试运行Sencha的默认示例代码时,也会出现以下错误:
Uncaught ReferenceError: Ext is not defined
at app.js:1我可以使用Sencha自己的ExtReact fiddler来解决这个问题,但是在运行它自己的示例代码时似乎也会遇到问题。:/
据我所知,应该不需要额外的函数,也不需要从事件触发。在React中,对state的更改应该为DateFieldPicker适当地重新配置maxDate和minDate配置。
任何帮助都是非常感谢的。
发布于 2018-04-15 22:12:07
在6.5.1 (在6.5.0) as reported to Sencha中,minDate和maxDate的功能显然停止了正常工作。
显然,minDate和maxDate属性随后从ExtReact版本6.5.2中的DatePickerField组件中删除,并且在版本6.5.3中仍然缺失。关联的getter和setter也被删除。
https://stackoverflow.com/questions/49834237
复制相似问题