material-ui 组件|日期选择器 |没有数据传递给 onChange

Posted

技术标签:

【中文标题】material-ui 组件|日期选择器 |没有数据传递给 onChange【英文标题】:material-ui components | datePicker | no data passed to 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"

【问题讨论】:

【参考方案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"

以上是关于material-ui 组件|日期选择器 |没有数据传递给 onChange的主要内容,如果未能解决你的问题,请参考以下文章

材料 ui 实验室日期选择器,无法解析“@material-ui/lab/AdapterDateFns”

赛普拉斯测试 Material-UI 日期选择器不适用于 Github 操作

对话框中的材料 UI 更改日期字段样式

远程时区的material-ui LocalizationProvider

如何将 aria-required 添加到 Material-UI 选择组件

无法让 material-ui datepicker 工作