账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    ant design 无法重置自定义表单元素
    34
    0

    自定义了一个表单元素,其他正常,在调用resetFields的时候其他表单元素能正常重置,自定义的无法重置,请问要怎么样才能和其他表单元素一样重置

    import React from 'react'
    import {Input, Button, Icon} from 'antd'
    
    class QueryInput extends React.Component {
        constructor(props) {
            super(props)
            this.state = {
                value: '',
            }
        }
    
        componentWillMount() {
            if (this.props.value) {
                this.setState({
                    value: this.props.value,
                });
            }
        }
        componentWillReceiveProps(nextProps) {
            if (nextProps.value) {
                this.setState({
                    value: nextProps.value,
                });
            }
        }
    
        triggerChange = (value) => {
            // Should provide an event to pass value to Form.
            const onChange = this.props.onChange
            if (onChange) {
                onChange(value)
            }
        }
    
        onChange = (e) => {
            const value = e.target.value
            this.setState({ value })
            this.triggerChange(value)
        }
    
        clear = () => {
            this.setState({ value: '' })
            this.triggerChange('')
        }
    
        
    
        render() {
            const {
                value: defaultValue,
                disabled,
                placeholder,
                size,
                width,
                onPressEnter,
                type,
                className,
                style
            } = this.props
            return (
                <Input
                    type={ type || 'text' }
                    onChange={ this.onChange }
                    defaultValue={ defaultValue }
                    value={ this.state.value }
                    placeholder={placeholder}
                    disabled={ disabled }
                    onPressEnter={ onPressEnter }
                    style={ style || { width: '140px' } }
                    className={ className }
                    size={ size || 'default' }
                    suffix={ <Icon type='close' style={{ cursor: 'pointer' }} onClick={ this.clear } /> }
                />
            )
        }
    }
    
    export default QueryInput
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部