javascript - 如何手动将 Formik 字段重置为空(反应)
问题描述
我需要Field
手动重置它的值,例如在一些已经存在的点击事件上我想将值设置assignedProductId
为空!
这是字段:
<Field
name="assignedProductId"
component={Dropdown}
options={this.state.Products}
loading={this.state.isLoading}
onChange={this.onProductChange}
/>
我不知道如何访问该字段并手动重置它的值...我红了setFieldValue
,但我不确定如何访问此字段,所以我可能会设置它的新值..
多谢你们
干杯
解决方案
正如您所建议的,您应该使用setFieldValue
. 它的签名是:
setFieldValue: (field: string, value: any, shouldValidate?: boolean) => void
该field
属性是您的字段的名称。并且value
应该是null
。
像这样:
props.setFieldValue('assignedProductId',null)
编辑
要更新组件内部的值并安装:
class MyComponent extends React.Component {
constructor(props){
super(props);
}
componentDidMount(){
this.props.setFieldValue('assignedProductId',null);
}
render(){
...
}
}
推荐阅读
- flutter - 等待异步 forEach 完成所有迭代,然后在 Dart 中收集数据
- jekyll - 根据帖子中的变量防止页面最终出现在站点地图中 - Jekyll
- sql - 分层查询中的排序问题
- directory - 用于比较文件夹集、它们的名称和它们的内容以识别差异的工具?
- typescript - 非空断言运算符仍然引发编译时错误
- python - 如何在列名属于日期时间 dtypes 的数据框中选择列?
- javascript - 本地存储中的购物车与mysql连接
- javascript - 颜色指针 HTML5,mouseup 事件
- c# - 如何在 C# 中将来自 api 的响应内容转换为 pdf?
- sql - 使用序号引用按大量列分组