鍍金池/ 問(wèn)答/HTML/ react 點(diǎn)擊彈出dialog后怎么獲取dialog的高度

react 點(diǎn)擊彈出dialog后怎么獲取dialog的高度

點(diǎn)擊事件將dialog彈出來(lái),dialog高度不是固定的,由內(nèi)容和padding撐開(kāi)的高度,react有什么方法能獲取動(dòng)態(tài)的高度呢

clipboard.png

clipboard.png

clipboard.png

clipboard.png

回答
編輯回答
護(hù)她命

可以給 dialog 綁定 ref

<Dialog ref={(dialog) => { this.dialogDOM = dialog; }}>

然后通過(guò) this.dialogDOM 調(diào)用 DOM 方法

2018年8月6日 01:09
編輯回答
熊出沒(méi)

給這個(gè)dialog綁定一個(gè)ref
然后在點(diǎn)擊事件里通過(guò)refs,拿到這個(gè)dialog的dom,從而拿到高度

2018年9月22日 13:21
編輯回答
替身
componentDidMount(){
    //在這里拿到組件的樣式
    var dialogStyle = window.getComputedStyle(this.dialog)
    
    this.setState({
        dialogH : parseInt( dialogStyle.height )
    })

}

//拿到dom
<YourDialog ref={ dialog => this.dialog = dialog  }/>
2017年8月19日 00:44