import React from 'react'; import PropTypes from 'prop-types'; import Button from '../button'; import { func, obj } from '../util'; /** * Form.Reset * @description 继承 Button API * @order 3 */ class Reset extends React.Component { static propTypes = { /** * 自定义重置的字段 */ names: PropTypes.array, /** * 点击提交后触发 */ onClick: PropTypes.func, /** * 返回默认值 */ toDefault: PropTypes.bool, /** * 自定义 field (在 Form 内不需要设置) */ field: PropTypes.object, children: PropTypes.node, }; static defaultProps = { onClick: func.noop, }; static contextTypes = { _formField: PropTypes.object, }; handleClick = () => { const { names, toDefault, onClick } = this.props; const field = this.context._formField || this.props.field; if (!field) { onClick(); return; } if (toDefault) { field.resetToDefault(names); } else { field.reset(names); } onClick(); }; render() { const { children } = this.props; return ( ); } } export default Reset;