ExtReact DatePickerField`minDate`和`maxDate`没有正确绑定

时间:2018-04-14 17:29:51

标签: binding datepicker extreact

我无法使用ExtReact 6.5.2绑定两个日期选择器的minDatemaxDate("开始"和#34;结束)。这是代码示例:

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)

我在Sencha&#34;例子&#34;中使用了上面的确切代码。 DatePickerField部分(见下面的链接)。代码运行并显示字段,但在设置日期时似乎没有观察到最大和最小绑定。

请注意,在撰写本文时,为了演示,您必须使用Sencha&#34;示例&#34;要复制的ExtReact 6.5.1 docs内的代码块。对版本6.5.26.5.3使用DatePickerField示例代码块时,即使尝试运行Sencha的默认示例代码,也会出现以下错误:

Uncaught ReferenceError: Ext is not defined
    at app.js:1

我会使用Sencha自己的ExtReact fiddler提供一个小提琴,但是这也似乎在运行自己的示例代码时遇到了问题。 :/

据我了解,不需要额外的功能或需要从事件中触发。在React中,对state的更改应适当重新配置maxDate的{​​{1}}和minDate配置。

非常感谢任何帮助...

1 个答案:

答案 0 :(得分:0)

minDatemaxDate功能显然已停止在6.5.1(正在使用6.5.0)as reported to Sencha中正常工作。

显然,minDatemaxDate属性已从ExtReact 6.5.2版中的DatePickerField组件中删除,并在6.5.3版中保持缺失。相关的getter和setter也被删除了。