亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

無法從 ref setNativeProps 更改文本樣式

無法從 ref setNativeProps 更改文本樣式

qq_遁去的一_1 2021-09-30 10:27:42
當我的一些 textInput 處于焦點時,我想改變我的組件的一些樣式,我使用世博會 34.0.0有兩種方法,我嘗試過:使用 ref 和使用狀態,兩者都有我需要了解的問題。到目前為止,<TextInput>當我通過onFocusTextInput 的函數更改它們時,樣式按預期工作。但是當我嘗試<Text>通過包含或使用按鈕來更改樣式時,refTitle通過調用使用相同的方法進行更改refTitle.current.setNativeProps()不起作用,每次我嘗試更改文本樣式時,它只會返回 refTitle.current.setNativeProps 未定義。const refTitle = useRef(null)const refUser = useRef(null)return (    <Card>        <Margin>            <Text ref={ refTitle } style={ styles.title }>as</Text>            <TextInput                ref={ refUser }                style={ [styles.input] }                onSubmitEditing={ () => refPassword.current.focus() }                onFocus={ () => refUser.current.setNativeProps({ style: { borderColor: FOCUS_COLOR } }) }                onBlur={ () => refUser.current.setNativeProps({ style: { borderColor: BLUR_COLOR } }) }            />因此,如果我將 textInput 中的 onFocus 更改為const handleFocus = () => {        refTitle.current.setNativeProps({ style: { color: FOCUS_COLOR } })        refUser.current.setNativeProps({ style: { borderColor: FOCUS_COLOR } })    }我不知道為什么它不起作用,一直在搜索但指南告訴我沒關系,這是最近 React Native 中的錯誤嗎?第二。我確實使用了狀態,這更簡單,但有一種我不明白的錯誤。我只是使用 onFocus 函數來設置新顏色,......每次我點擊 textInput 時,它都會改變顏色......但它并沒有真正聚焦,我必須再次單擊以使其完全聚焦(鍵盤顯示和指示器開始滴答作響)
查看完整描述

2 回答

?
心有法竹

TA貢獻1866條經驗 獲得超5個贊

您必須使用引用才能使用 setNativeProps


 <TextInput

 ref={ref => {this.referencedeTF = ref;

          }}

/>

  this.referencedeTF.setNativeProps({

        borderColor: "red",

        borderWidth: 1

      });

您正在以錯誤的方式使用參考。


查看完整回答
反對 回復 2021-09-30
?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

原來我使用的是不同的<Text>而不是來自本機的...解決了它,但我仍然感到困惑,如果使用狀態強迫我點擊兩次以觸發焦點,而第一次按下已經改變了顏色,也許是因為文本不是本機的來自本機


查看完整回答
反對 回復 2021-09-30
  • 2 回答
  • 0 關注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號