이번에는 리액트에서 클릭하여 선택한 리를 강조표시하는 단계에 대해 자세히 설명하겠습니다. 클릭하여 선택한 리를 강조표시하기 위해 리액트에서 주의해야 할 사항은 무엇인가요? 사례를 살펴보겠습니다. 단순한 기능이지만 녹음해 두시면 더욱 좋습니다. 페이지에는 많은 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> } }
css part
.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; } }
아주 간단하지 않나요? 이러한 li를 생성할 때 요소에 인덱스 플래그를 추가한 다음 클릭 시 event.currentTarget.getAttribute('index')를 사용하여 인덱스를 꺼내고 currentIndex 값을 설정한 다음 CSS를 작성하는 것입니다. 스타일이 완성되었습니다.
이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!
추천 도서:
JS 배열 방법을 사용하는 단계에 대한 자세한 설명JS 문자열 방법을 사용하는 단계에 대한 자세한 설명위 내용은 반응에서 클릭으로 선택한 리를 강조 표시하는 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!