GVKun编程网logo

React-native-phone-input 没有得到模糊回调(react模糊搜索)

1

在本文中,您将会了解到关于React-native-phone-input没有得到模糊回调的新资讯,同时我们还将为您解释react模糊搜索的相关在本文中,我们将带你探索React-native-pho

在本文中,您将会了解到关于React-native-phone-input 没有得到模糊回调的新资讯,同时我们还将为您解释react模糊搜索的相关在本文中,我们将带你探索React-native-phone-input 没有得到模糊回调的奥秘,分析react模糊搜索的特点,并给出一些关于input 输入框 光标错位问题 、移动端输入框 /input 框光标错位问题、微信 H5 输入框 /input 框光标错位问题、ios – React native error – react-native-xcode.sh:line 45:react-native:command not found命令/ bin/sh失败,退出代码127、php – Laravel 4:Input :: has()Input :: get()vs.($var = Input :: get())!= null、React JS如何使用其他第三方形式来验证第三方输入组件,例如react-phone-input-2的实用技巧。

本文目录一览:

React-native-phone-input 没有得到模糊回调(react模糊搜索)

React-native-phone-input 没有得到模糊回调(react模糊搜索)

如何解决React-native-phone-input 没有得到模糊回调

我正在使用 react-native-phone-input(1.0.10)。我已经使用其他字段(例如(输入、收音机、选择)和所有字段在 react native 中通过 formik 和 yup 验证。 其余字段与 onchange 和 onblur 事件一起正常工作,但电话输入本身不会返回任何关于 blur 属性的回调

当时我按下“注册”按钮时收到错误消息“需要电话号码”。当我在电话号码字段中输入值时,错误消息不再可用(这是正确的)但是当我删除值时电话输入字段并将焦点放在另一个字段上,因此此时电话号码字段没有任何错误消息显示

我正在为输入字段附加代码

  1. <Input
  2. autoCapitalize="none"
  3. keyboardType={''email-address''}
  4. value={values.email}
  5. onChangeText={e => {
  6. setFieldValue(''email'',e,(values.phoneNumber = ''''));
  7. }}
  8. // onChangeText={handleChange(''email'')}
  9. onBlur={handleBlur(''email'')}
  10. label={evaProps => <Text {...evaProps}>{''Email ''}</Text>}
  11. />
  12. {errors.email && touched.email && (
  13. <Text style={styles.commonErrorText}>{errors.email}</Text>
  14. )}
  15. <PhoneInput
  16. ref={ref => {
  17. phone = ref;
  18. }}
  19. textStyle={{fontWeight: ''bold''}}
  20. style={{marginHorizontal: 10}}
  21. autoFormat={true}
  22. // onChangePhoneNumber={text => {
  23. // setPhoneNumber(text);
  24. // }}
  25. onChangePhoneNumber={e => {
  26. setFieldValue(
  27. ''phoneNumber'',setFieldError(errors.email,''''),(values.email = '''')
  28. );
  29. }}
  30. onSelectCountry={data => onSelectCountry(data)}
  31. value={values.phoneNumber}
  32. initialCountry={countryData.cca2.toLowerCase()}
  33. textProps={{placeholder: ''Telephone number''}}
  34. onPressFlag={onPressFlag}
  35. />

Formik 验证:

  1. const SignupSchema = Yup.object().shape(
  2. {
  3. email: Yup.string().when(''phoneNumber'',{
  4. is: phoneNumber => !phoneNumber || phoneNumber.length === 0,then: Yup.string()
  5. .email(''Please enter a valid email address'')
  6. .matches(emailRegExp,''Please enter a valid email address'')
  7. .required(''Email is required''),}),phoneNumber: Yup.string().when(''email'',{
  8. is: email => !email || email.length === 0,then: Yup.string()
  9. // .matches(phoneRegExp,''Phone number is not valid'')
  10. .required(''Mobile number is required'')
  11. .max(20,''Mobile number is too long''),})
  12. [''email'',''phoneNumber''],);
  13. <Formik
  14. initialValues={{
  15. email: '''',phoneNumber: ''''
  16. }}
  17. validationSchema={SignupSchema}
  18. onSubmit={values => {
  19. console.log("values");
  20. }}>
  21. {({
  22. handleChange,handleBlur,handleSubmit,values,errors,setFieldValue,setFieldError,touched,})

提交按钮代码:

  1. <Button status="success" onPress={handleSubmit}>
  2. Register Now
  3. </Button>

我被这个问题困住了

input 输入框 光标错位问题 、移动端输入框 /input 框光标错位问题、微信 H5 输入框 /input 框光标错位问题

input 输入框 光标错位问题 、移动端输入框 /input 框光标错位问题、微信 H5 输入框 /input 框光标错位问题

在 IOS 系统下的问题:

 

 搜索出的建议如下:

你应该是用fixed定位做的弹出框,弹出框里面有文本框。fixed在ios上兼容不友好,会造成光标乱跳。建议用better-scroll,或者用absolute定位改写弹出框。

 

ios 10 以上 fix 布局会产生如下 bug -- 光标溢出问题 可能是 Fixed 布局使用的人少吧!很多人都没遇到这个坑,所以更应该推出这篇文章

 

最后更换定位方式,完美解决此 BUG.

 

.survey-phone-box {                         
    position: absolute;                     
    top: 0;                                 
    left: 0;                                
    right: 0;                               
    bottom: 0;                              
    background: rgba(0, 0, 0, .45);         
    z-index: 10;                            
}        

 

                                   

 

ios – React native error – react-native-xcode.sh:line 45:react-native:command not found命令/ bin/sh失败,退出代码127

ios – React native error – react-native-xcode.sh:line 45:react-native:command not found命令/ bin/sh失败,退出代码127

尝试构建任何(新的或旧的)项目时出现此错误.
我的节点是版本4.2.1,react-native是版本0.1.7.
我看过其他有相同问题的人,所以我已经更新了本机的最新版本,但是我仍然无法通过 xcode构建任何项目.

解决方法

要解决此问题,请使用以下步骤:

>使用节点版本v4.2.1
> cd进入[你的应用] / node_modules / react-native / packager
> $sh ./packager.sh(出于某种原因,运行正常)
>进入XCode并转到Build Phases选项卡.
删除列表中的最后一项(运行脚本的项目).所以你留下了Target Dependencies,Compile Sources,Link Binary With Libraries和copy Bundle Resources.

现在点击XCode中的build.由于shell脚本不再是XCode构建例程的一部分,因此它不应该失败.如果你在另一个终端窗口中运行react本机客户端服务器,那么一切都应运行正常.

php – Laravel 4:Input :: has()Input :: get()vs.($var = Input :: get())!= null

php – Laravel 4:Input :: has()Input :: get()vs.($var = Input :: get())!= null

检查是否存在输入值并将其分配给变量时,我看到两种方法来实现:

if(Input::has('id')) {
    $id = Input::get('id');
    // do some stuff
}

或者更短的if(Input :: has(‘id’)&& $id = Input :: get(‘id’)){…},和

$id = Input::get('id');
if($id != null) {
    // do some stuff
}

if if(($id = Input :: get(‘id’))!= null){…}.

显然第一种方法更多的是Laravel方式,可能更直观(至少要阅读),但一方面第二种方法似乎更快,因为它涉及更少的方法调用,而另一方面可能更慢的不必要的变量在id == null的情况下赋值.

那么是否有一种方式可以选择或者可能还有其他一些我尚未意识到的问题?

解决方法:

我总是喜欢我的代码的可读性,而不是几毫秒的代码执行速度.

if(Input::has('id')) {
    $id = Input::get('id');
    // do some stuff
}

可能比较慢但是这个稍微有点无关紧要.

React JS如何使用其他第三方形式来验证第三方输入组件,例如react-phone-input-2

React JS如何使用其他第三方形式来验证第三方输入组件,例如react-phone-input-2

如何解决React JS如何使用其他第三方形式来验证第三方输入组件,例如react-phone-input-2

我正在以一种形式使用我的react-phone-input-2组件来接收用户的手机号码。但是我也使用AvForms(通常是任何其他第三方表单),所以我不知道如何验证它们并显示与“第三方表单”相同的错误。

  1. const handleSubmit = () => {};
  2. return (
  3. <AvForm onSubmit={handleSubmit}>
  4. <AvField name="name" label="Name" required />
  5. <AvField name="email" label="Email" required />
  6. <PhoneInput
  7. country={"pk"}
  8. />
  9. <FormGroup>
  10. <Button>Submit</Button>
  11. </FormGroup>
  12. </AvForm>

解决方法

您应该加入onChange发生时用于设置值的方法,并将其注入到组件中,或使用组件的内置方法。

  1. import PhoneInput from ''react-phone-input-2''
  2. const MyImput = function(){
  3. const [phone,setPhone] = useState(null)
  4. const [isValid,setValid] = useStatr(null)
  5. const valid = value => {
  6. // here you validate your phone
  7. }
  8. const handleChange = value => {
  9. setPhone(value)
  10. valid(value)
  11. ? setValid(true)
  12. : setValid(false)
  13. }
  14. return <>
  15. <PhoneInput
  16. isValid={isValid}
  17. country={''us''}
  18. value={phone}
  19. onChange={handleChange}
  20. />
  21. <PhoneInput
  22. isValid={(value,country) => {
  23. if (value.match(/12345/)) {
  24. return ''Invalid value: '' + value + '','' + country.name;
  25. } else if (value.match(/1234/)) {
  26. return false;
  27. } else {
  28. return true;
  29. }
  30. }}/>
  31. </>
  32. }

今天关于React-native-phone-input 没有得到模糊回调react模糊搜索的讲解已经结束,谢谢您的阅读,如果想了解更多关于input 输入框 光标错位问题 、移动端输入框 /input 框光标错位问题、微信 H5 输入框 /input 框光标错位问题、ios – React native error – react-native-xcode.sh:line 45:react-native:command not found命令/ bin/sh失败,退出代码127、php – Laravel 4:Input :: has()Input :: get()vs.($var = Input :: get())!= null、React JS如何使用其他第三方形式来验证第三方输入组件,例如react-phone-input-2的相关知识,请在本站搜索。

本文标签: