1 回答

TA貢獻1820條經驗 獲得超2個贊
在我在這里對您的代碼進行的測試中,我添加了showPlayOnHover屬性以將其聲明為 false,以處理懸停時出現的按鈕。
添加了渲染或不渲染按鈕的方法:
handlePlayOnHover = (song) => {
this.setState({
showPlayOnHover: !this.state.showPlayOnHover,
isPlaying: !this.state.isPlaying
})
this.handleSongClick(song)
}
歌曲渲染結構更新為:
<tr
className="song" key={index}
onClick={() => this.handleSongClick(song)}
onMouseOver={() => this.handleOnHover(song)}
onMouseOut={() => this.handleOnHover(song)}
>
<td className="song-actions">
<button>
<span className="song-number">
{!this.state.showPlayOnHover ? index+1 : <span className="ion-play"></span>}
</span>
<span className="ion-play"></span>
<span className="ion-pause"></span>
</button>
</td>
<td className="song-title">{song.title}</td>
<td className="song-duration">{song.duration}</td>
</tr>
方法handleOnHover負責有條件地顯示懸停時的播放按鈕和懸停時的歌曲編號。
添加回答
舉報