React不是support元素的可見性屬性。處理可見性=隱藏的React.js方法是什麼?
所以如果我想要顯示或隱藏頁面上的元素,但仍然佔用隱藏的空間,所以佈局不會移位,我該如何做這樣的事情?
<i className="fa fa-trash" visibility={this.state.showButton ? "visible": "hidden"} />
React不是support元素的可見性屬性。處理可見性=隱藏的React.js方法是什麼?
所以如果我想要顯示或隱藏頁面上的元素,但仍然佔用隱藏的空間,所以佈局不會移位,我該如何做這樣的事情?
<i className="fa fa-trash" visibility={this.state.showButton ? "visible": "hidden"} />
您可以使用CSS類來動態修改您的className。例如:
<i className={this.state.showButton ? "fa fa-trash" : "fa fa-trash hidden"} />
您可以使用CSS這一點。
<i className="fa fa-trash" style={{visibility: this.state.showButton ? 'visible' : 'hidden' }} />
瞭解更多關於inline styles in React
這是一個CSS屬性,所以你可以使用內嵌的樣式:
...
var visibilityState = this.state.showButton ? "visible" : "hidden";
return (
<i className="fa fa-trash" style={{visibility: visibilityState}}/>
);
...
雖然接受的答案完美的作品,我想提classnames NPM package爲以更乾爽的方式實施它的另一種方式。有了這個包,你並不需要兩個字符串之間複製另一方面,靜態類:
<i className={classNames("fa", "fa-trash", {"hidden": !this.state.showButton})} />
它不工作,因爲「知名度」的拼寫錯誤和2是皮棉錯誤,你還要添加空間style = {{visibility:this.state.showButton? 'visible':'hidden'}} – Shiladitya