سلام
import React, { Component } from 'react';
import { AppRegistry, TextInput } from 'react-native';
export default class UselessTextInput extends Component {
constructor(props) {
super(props);
this.state = { text: 'Useless Placeholder' };
}
render() {
return (
<TextInput
style={{height: 40, borderColor: 'gray', borderWidth: 1}}
Text={(text) => this.setState({text})}
value={this.state.text}
/>
);
}
}
// skip this line if using Create React Native App
AppRegistry.registerComponent('AwesomeProject', () => UselessTextInput);
خب تا اینجا همه چی عالی هستش.
حالا فرض کنید که قرار یکی از فیلدهاتون که کنترل کل فرم رو داره انجام میده به عنوان مثال کد ملی حتما باید چک بشه . شما اگر دستی فرم رو پر کنید که مشکلی ندارید امااااااااااااااااااااا اگر به صورت اتوماتیک بخوام فرمتون پر بشه ممکنه دیگه به راحتی بعد از از پر شدن اتوماتیک فرم روی مثلا فیلد کد ملی نمیتونید اعتبار سنجی رو به همین راحتی انجام بدید .
خب برای این کار باید چیکار کرد ؟
نگران نباشید الان میگم بهتون .
خب فرم ما داره مقادیرش رو از STATE ها میگیره و پر میکنه بعد از پر کردن باید کاری کنیم که فرم به صورت اتوماتیک کار ولیدیت مثلا کد ملی رو انجام بده .این کار خیلی راحته ول از همه باید کاری کنید زمانی که وارد فرم شدید فیلد کد ملی روش Focuse بشه پس برای این کار من کامپوننتم رو به صورت زیر ست میکنم در اول کار :
<TextInput
...
isFocused
/>
خب به همین راحتی مرحله اول انجام شد حالا برای اینکه اگر فیلدم پر شده بود به صورت اتوماتیک یه کارایی انجام بده خب به راحتی میام و کدم رو به صورت زیر درست می کنم
<TextInput
...
isFocused
={()=>{ if(this.state.User.identification_number.length===10){ .... } }}
/>
خب به همین راحتی .....
امید وارم این آموزش مورد قبولتون بوده باشه
تا بعد....