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显示的值该怎么做?

阅读 13.9k
1 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题