我試圖做到這一點,所以當你點擊下拉箭頭時,設置下拉菜單會出現。React綁定函數到陣列中的每個項目
當我目前按下箭頭下拉菜單時,所有設置下拉列表都在數組循環中打開。
這是使循環功能:
viewPublishedPages() {
const pages = this.state.pages;
return (
<div>
{pages.map((val, i) => {
let dropdown = 'none';
return (
<div className="block" key={i}>
<div className="columns">
<div className="column is-10">
<p>PUBLISHED</p>
<h2>{val.title}</h2>
</div>
<div className="column">
<div className="settings">
<div className="arrow__container">
<div className="arrow" onClick={this.showSettings.bind(this, i)} />
</div>
{
this.state.settingPanel
?
<ClickOutside onClickOutside={::this.hide}>
<div className="arrow__dropdown">
<Link href={{pathname: '/admin/edit-page', query: {title: val.title}}}>
<a className="arrow__dropdown__link">Edit</a>
</Link>
<button
className="arrow__dropdown__delete"
onClick={() => this.handleDelete(i)}>Delete</button>
</div>
</ClickOutside>
: null
}
</div>
</div>
</div>
</div>
);
})}
</div>
);
}
注意:<div className="arrow" onClick={this.showSettings.bind(this, i)} />
這是國家:
static dataStruc() {
return {
loading: true,
settingPanel: false,
pages: [],
};
}
什麼問題呢? – mersocarlin
@mersocarlin它應該只顯示下拉到相應的「頁面」。目前,當我按下下拉菜單時,它會打開兩個設置面板。 – Dileet
你能提供一個關於'this.state.pages'的樣子嗎? – mersocarlin