اذهب إلى المحتوى

السؤال

نشر

أحاول أن أقوم بالحصول على النص الموجود في TextInput من خلال إستخدام الحدث onBlur على النحو التالي:

onBlur={(e) => console.log(e.target.value)}

لكن المشكلة هنا هي أن القيمة e.target.value عبارة عن undefined

من المفترض أن هذا الكود يعمل بشكل سليم في React.js ولكن في React Native لا يعمل على الإطلاق ويتم إعادة undefined، ما سبب المشكلة هنا؟ وكيف أقوم بحلها؟

Recommended Posts

  • 0
نشر

طالما تستخدم حدث onBlur مع TextInput فيكون عليك جلب قيمة النص من الحدث بالطريقة التالية

e.nativeEvent.text

لكن هو لايعمل مع مختلف المكونات والتي تتكون من عدة أسطر multiline. لذلك نستخدم الطريقة التالية حيث نجلب النص من خلال الخاصية lastNativeText_:

onBlur={() => console.log(this.refs.textInput._lastNativeText)}

لكن بشكل عام، من الأفضل استخدام الحدث onEndEditing التي توفر نفس العملية functionality

<TextInput 
    onEndEditing={(e: any) => 
    {
        this.setState({textValue: e.nativeEvent.text})
    }
}/>

 

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...