第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ref.current.focus() 不是函數(shù)

ref.current.focus() 不是函數(shù)

幕布斯7119047 2023-03-18 16:09:39
我試圖在 onBlur 時使用 ref 來關(guān)注元素。我正在使用 react v.16.9.0 我的代碼是這樣的:const handleKeyDown = (e, element, index) => {  element.current.focus();  event.preventDefault();};const pinDigitBuilder = () => {  const arr = Array(...Array(TOTAL_PIN_DIGITS));  return arr.map((x, i) => {    const inputRef = useRef(null);    console.log(inputRef);    return (      <Field        key={`${PIN_DIGIT}${i + 1}`}        id={`${PIN_DIGIT}${i + 1}`}        name={`${PIN_DIGIT}${i + 1}`}        ref={inputRef}        component={InputTextField}        className="text xxs2"        classNameInvalid="text xxs2 error"        type="text"        divClassName="fieldWrap"        maxLength={1}        normalize={keepNumbersOnly}        errorStyle={{ display: 'none' }}        autoComplete="off"        onBlur={(e) => { handleKeyDown(e, inputRef, i); }}      />    );  });};當我在字段外單擊時出現(xiàn)錯誤,提示 element.current.focus();。我不明白。我按照文檔中的詳細說明使用 useRef,但我不知道我缺少什么。有任何想法嗎?
查看完整描述

2 回答

?
子衿沉夜

TA貢獻1828條經(jīng)驗 獲得超3個贊

我假設(shè)<Field />是一個功能組件。在<Field />組件內(nèi)部有一個輸入元素。如果是這種情況,那么您必須使用forwardrefto pass down ref to child.?

查看完整回答
反對 回復(fù) 2023-03-18
?
慕姐4208626

TA貢獻1852條經(jīng)驗 獲得超7個贊

我不知道你是否找到了答案,但我遇到了同樣的雙重問題。

  1. 我使用的是類無狀態(tài)組件,所以沒有引用,這就是為什么我假設(shè)你收到錯誤

  2. 為了解決這個問題,您需要添加一個 tabIndex 以便在 div(而不是輸入元素)中設(shè)置焦點

查看完整回答
反對 回復(fù) 2023-03-18
  • 2 回答
  • 0 關(guān)注
  • 274 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號