javascript - 清除 redux 表单字段 (DatePicker) onclick 'x'
问题描述
您好,我正在使用来自 redux-form-material-ui 的 DatePicker,但我无法清除该字段 - 使用我在这里描述的这个组件无法做到这一点: https ://github.com/erikras/redux-form -material-ui/issues/262 因此,我想在右侧的字段上添加“x”按钮,然后单击它应该清除该字段...我该怎么做?如何访问方法中的字段?
<Field
name="dateOfBirth"
type="text"
component={DatePicker}
className={css.fullWidth}
fullWidth
formatDate={formatDate}
/>
解决方案
看起来这redux-form-material-ui
并没有完全公开操纵字段值的能力。但是,它确实提出了一种通过 refs 挖掘孩子们的方法。
在您的情况下,它看起来像:
handleClick() {
this.refs.dobField // the Field
.getRenderedComponent() // on Field, returns ReduxFormMaterialUIDatePicker
.getRenderedComponent() // on ReduxFormMaterialUIDatePicker, returns DatePicker
.setState({ date: null}); // on DatePicker
}
这是库中的DatePicker源代码material-ui
(似乎redux-form-material-ui
使用的是 0.x 版本,而不是 1.x)。
假设你有:
render() {
return (
<form>
...
<Field name="dateOfBirth"
type="text"
component={DatePicker}
className={css.fullWidth}
fullWidth
formatDate={formatDate}
withRef // enable the option
ref="dobField" // name of ref; redux-form-material-ui makes it accessible via this.refs.dobField
/>
...
</form>
)
}
推荐阅读
- android - 连接到多个 BLE 设备时 onCharacteristicRead 错误 129
- flutter - Flutter:计时器无法停止
- php - 为什么google cloud vm instance上的lamp stack中的mysql会返回错误的查询结果?
- c# - C#计算字符串中的项目数
- python - 如何在二维中用最接近的非 NaN 值填充 NaN
- sql - SQL Developer Regexp_Like 搜索长字符串中的短语
- javascript - 在 HttpStatusCode 中,当我将其更改为 401 时,我再次获得状态 500
- mysql - 如何为审计表编写本机查询
- google-directory-api - 如何使用服务帐户获取域用户的数据?
- redirect - IIS url 重定向太多重定向