首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Formik的Field组件中使用react-phone-number-input

如何在Formik的Field组件中使用react-phone-number-input
EN

Stack Overflow用户
提问于 2019-11-22 00:47:54
回答 2查看 8.3K关注 0票数 2

我正在使用Formik并尝试使用这个包,但是Formik看不到输入的值,因此不会验证或提交表单。

这是我正在使用的PhonInputField组件...

代码语言:javascript
复制
import PhoneInput from "react-phone-number-input";

const PhoneInputField = ({
    field,
    form
}) => {
    return (
        <div className="input-field">
            <PhoneInput
                placeholder="Enter phone number"
                name={field.name}
                value={field.value}
                onChange={field.onChange}
                onBlur={field.onBlur}
            />
        </div>
    );
};

export default PhoneInputField;

下面是我如何在Formik中使用它。

代码语言:javascript
复制
<Formik
    initialValues={initialValues}
    validationSchema={signInSchema}
    onSubmit={handleFormSubmit}
>
    {({
        isValid,
        isSubmitting,
        handleChange,
        handleBlur
    }) => (
        <Form>


                <Field
                    type="tel"
                    name="phone_number"
                    component={PhoneInputField}
                />

            <div className="cta">
                <button
                    type="submit"
                    disabled={!isValid || isSubmitting}
                    className="btn btn-primary big"
                >Submit</button>
            </div>
        </Form>
    )}
</Formik>

我在这里做错了什么?

===

我试着在这个项目的Github回购页面上问这个问题,但没有成功。

我也试着这样做...

代码语言:javascript
复制
<PhoneInput
        placeholder="Enter phone number"
        name={field.name}
        value={field.value}
        onChange={value => field.onChange({ value })}
        onBlur={value => field.onBlur({ value })}
/>

但是,Formik仍然看不到字段值。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-23 16:46:55

对于那些可能遇到这个问题的人,在这里的Github回购页面中已经回答了这个问题。

https://github.com/catamphetamine/react-phone-number-input/issues/298#issuecomment-557746103

票数 3
EN

Stack Overflow用户

发布于 2020-03-10 12:17:38

代码语言:javascript
复制
onChange={(phone, country) =>
    setValues({
    ...values,
    phone: phone,
    countryCode: country.countryCode
    })
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58979846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档