이 글에서는 선택한 li를 강조 표시하는 React의 예제 코드를 주로 소개합니다. 페이지에는 많은 li이 있으며, 클릭한 것이 강조 표시됩니다. 내용이 꽤 괜찮아서 지금 공유하고 참고용으로 드리고 싶습니다.
단순한 기능이지만 녹음해 두는 것이 더 좋습니다. 페이지에는 많은 li이 있으며, 클릭한 li이 강조 표시됩니다. 당시 jq를 사용할 때는 매우 간단했습니다. addClass에 선택한 요소를 추가한 다음 해당 형제 요소를 제거하고 활성 스타일을 작성했습니다. 이제 비슷한 작업을 구현하기 위해 React를 사용하려면 currentIndex를 사용하고 currentIndex가 어떤 요소에 있는지 판단하여 전환하는 것이 좋습니다.
먼저 렌더링입니다:
코드:
#🎜 🎜#class Category extends React.Component { constructor(props) { super(props) this.state = { currentIndex: 0 } this.setCurrentIndex = this.setCurrentIndex.bind(this) } setCurrentIndex(event) { this.setState({ currentIndex: parseInt(event.currentTarget.getAttribute('index'), 10) }) } render() { let categoryArr = ['产品调整', '接口流量', '负载均衡', '第三方软件调整', '安全加固', '性能控制', '日志查询', '业务分析']; let itemList = []; for(let i = 0; i < categoryArr.length; i++) { itemList.push(<li key={i} className={this.state.currentIndex === i ? 'active' : ''} index={i} onClick={this.setCurrentIndex} >{categoryArr[i]}</li>); } return <ul className="category">{itemList}</ul> } }
.category { padding-left: 0; &:after { content: ''; display: block; clear: both; } li { float: left; width: 23%; height: 40px; margin-right: 10px; margin-bottom: 10px; border: 1px solid $border-color; list-style: none; color: $font-color; line-height: 40px; text-align: center; font-size: 14px; cursor: pointer; &.active { border-color: #079ACD; } }
Flexbox 레이아웃을 사용하는 React Native 소개
React와 Redux 기반의 SSR 구현 방법
위 내용은 React는 선택한 li를 클릭하면 강조 표시되는 방법을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!