antd表单验证的getFieldDecorator的rules的transform怎样使用?

比如我想让getFieldDecorator包裹的input只能输入整数:

<FormItem>
    {getFieldDecorator('supply_price',{
    rules: [{
        'transform': (val) => {
            let value = val;
            if(value.length==1){
                value = value.replace(/[^1-9]/g,'')
            } else {
                value=value.replace(/\D/g,'')
            }
            console.log(value)
            return value;
         }
    }]
    })(
    <Input
        placeholder="供货价"
    />
    )}
</FormItem>

里面的console.log已经执行了,打出来的value也是正确的,但是input的显示出来的值还没有改。
不是说经过getFieldDecorator包裹的组件的value都托管在form么,那我现在想同时修改input显示的值该怎么做?

阅读 14k
1 个回答

transform 只用于验证,不影响真实值。

你这种情况可以考虑 getValueFromEvent-parameters)

推荐问题