【问题标题】:material-ui components | datePicker | no data passed to onChangematerial-ui 组件|日期选择器 |没有数据传递给 onChange
【发布时间】:2016-10-08 19:46:57
【问题描述】:

我有一个带有 ma​​terial-ui DatePicker 的简单表单,例如:

<DatePicker name="startDate" autoOk={true} floatingLabelText="startDate" onChange={(x, event) => {console.log(arguments);}} />

但是,如果我更改日期,则会将一个空数组打印到控制台。我将不胜感激有关如何解决此问题的任何建议。

"material-ui": "0.15.0"
"react": "15.1.0"
"react-tap-event-plugin": "1.0.0"
"redux": "3.0.5"
"redux-form": "^6.0.0-alpha.4"

【问题讨论】:

    标签: javascript reactjs datepicker redux material-ui


    【解决方案1】:

    你在console.log() 中传递的"arguments" 是什么?

    来自 material-ui 中的日期选择器文档:

    签名: 函数(空:未定义,日期:对象)=> 无效 null:由于没有与更改关联的特定事件,因此第一个参数将始终为 null。 日期:新日期。

    因此你的代码变成:

    onChange={(event, x) => {console.log(x);}}
    

    x 是日期。

    希望对你有帮助。

    【讨论】:

    • arguments 是一个类似数组的对象(developer.mozilla.org/en/docs/Web/JavaScript/Reference/…),所有参数都传递给函数,对我来说它是空的,没有任何东西传递在那里,正如我的问题中所写的那样
    • 所以,我不知道为什么,但是:onChange={(event, date) =&gt; {console.log(arguments, event, date);}} 返回空数组、null 和日期。感谢@antonis-zisis 的提示
    • 来自文档:“箭头函数不会将参数对象暴露给它们的代码”。 developer.mozilla.org/en/docs/Web/JavaScript/Reference/…(现在一切都值得了……)
    • 返回未定义的@material-ui/core: "^4.11.0"
    猜你喜欢
    • 1970-01-01
    • 2019-08-08
    • 2020-10-24
    • 1970-01-01
    • 2018-10-23
    • 2019-06-06
    • 1970-01-01
    • 2017-10-26
    • 2020-08-22
    相关资源
    最近更新 更多