中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

react如何設置div高度

發布時間:2023-01-06 10:42:35 來源:億速云 閱讀:238 作者:iii 欄目:web開發

這篇文章主要介紹“react如何設置div高度”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“react如何設置div高度”文章能幫助大家解決問題。

react設置div高度的方法:1、通過css方式實現div高度;2、在state中聲明一個對象C,并在該對象中存放更換按鈕的樣式,然后獲取A并重新設置C中的“marginTop”即可。

react動態設置元素高度

使用react實現動態修改樣式(不建議使用此方式,除非沒有其他選擇)

如下圖所示:

react如何設置div高度

需求

實現圖中的更換按鈕緊隨圖片的右下方,圖片高度發送改變時,更換按鈕的位置也跟著改變。

思路

1.通過css方式實現(改方案暫時沒有解決辦法)
2.利用react數據驅動視圖的特性
2.1 數據:在state中聲明一個對象C,該對象存放更換按鈕的樣式。
2.2 操作: 設 A = 圖片高度, B = 更換按鈕高度。圖片加載完成后,獲取A并將重新給設置C中的marginTop。(該思路只需改變數據,不需要考慮視圖層)

完整代碼

construct中

this.state = {
 updateBtnStyle :{
   fontSize: "12px",marginLeft:'20px',marginTop:'300px',
 }
}
//在class中定義的函數,如果需要使用到全局this,需要此操作
this.loading = this.loading.bind(this)

聲明操作函數loading

loading(){
   const imgHeight =  document.getElementById('facePhoto').height
   console.log('圖片的高度',document.getElementById('facePhoto')?.height)
   if(imgHeight === Number.parseInt(this.state.updateBtnStyle.marginTop)+24) return
   else{
     this.setState({
       updateBtnStyle:{
         marginTop:document.getElementById('facePhoto')?.height-24+'px'
       }
     })
   }
}

視圖層偽代碼

<Item label="人臉照片" style={{ position: "relative" }} required>
   <img id={'facePhoto'} src={photo} alt=""  width="300" onLoad={this.loading} style={{float:'left'}}/>
   <Button size="small" style={updateBtnStyle}
     onClick={() => StateManage.set(updatePhotoProps, { visible: true })}>更換</Button>
</Item>

過程遇到的問題

1.獲取圖片的高度:
1.1 獲取的時間:需要等圖片加載完成后獲取其高度才有效,因此需要使用img的onLoad事件,確保獲取圖片高度時,圖片已經加載完成。
1.2 獲取的方式: 圖片的寬高度是通過屬性height,width,而不是通過style設置,因此獲取高度的方法=document.getElementById('xxx').height
2.聲明的函數沒有綁定this,導致無法使用setState

關于“react如何設置div高度”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

通州区| 万安县| 连城县| 库伦旗| 庆阳市| 泗洪县| 高安市| 越西县| 渭源县| 阳春市| 博白县| 左贡县| 万盛区| 定南县| 司法| 平果县| 宝坻区| 北流市| 讷河市| 蒲城县| 锡林浩特市| 宾川县| 沁源县| 临清市| 禄丰县| 湟中县| 石楼县| 尚志市| 丹阳市| 荔浦县| 南丹县| 黑水县| 白水县| 班戈县| 沅陵县| 新邵县| 云和县| 通州市| 屯门区| 桂林市| 七台河市|