Rayden Storm نشر 21 مارس 2021 أرسل تقرير نشر 21 مارس 2021 ما هي طريقة react لتعيين التركيز على حقل نصي معين بعد تشغيل المكون؟ يبدو أن التوثيق يقترح استخدام refs ، على سبيل المثال نعيّن ref = "nameInput" في حقل الإدخال الخاص ثم نتصل بـ this.refs.nameInput.getInputDOMNode().focus(); لكن اين يجب ان أستخدم هذا 1 اقتباس
0 Mohammed Saber6 نشر 21 مارس 2021 أرسل تقرير نشر 21 مارس 2021 مرحباً بك: في البداية تعطي للحقل ref ويكون مثلا عبارة عن callback ref class App extends React.Component{ render() { return( <div> <input ref={input => { this.inputRef = input; }} /> </div> ); } } بعد ذلك تقوم بالتركيز على الحقل في أي مكان componentDidMount() { this.inputRef.focus(); } اقتباس
0 Yomna Raouf نشر 21 مارس 2021 أرسل تقرير نشر 21 مارس 2021 إذا كنت تريد أن تقوم بالتركيز على حقل الإدخال عندما يتم عرض المكون فقط يمكنك ببساطة استخدام ال atteibute الذي يسمى autoFocus مع حقل الإدخال كما يلي: <input type="text" autoFocus /> أو يمكنك القيام بالتالي لتنفيذ ال focus dynamically: class App extends Component { constructor(props){ super(props) this.inputFocus = utilizeFocus() } render(){ return ( <> <button onClick={this.inputFocus.setFocus}> FOCUS </button> <input ref={this.inputFocus.ref}/> </> ) } } const utilizeFocus = () => { const ref = React.createRef() const setFocus = () => {ref.current && ref.current.focus()} return {setFocus, ref} } اقتباس
السؤال
Rayden Storm
ما هي طريقة react لتعيين التركيز على حقل نصي معين بعد تشغيل المكون؟
يبدو أن التوثيق يقترح استخدام refs ، على سبيل المثال نعيّن ref = "nameInput" في حقل الإدخال الخاص ثم نتصل بـ
this.refs.nameInput.getInputDOMNode().focus();
لكن اين يجب ان أستخدم هذا
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.