【Vue.js】동적으로 행이 증감해도 얼룩말 무늬를 듣게 하고 싶다!
↓이런 녀석
모두 좋아하는 Bootstrap에서도 「.table-striped」라고 하는 class가 이런 식으로 되어 있는 것입니다만, 어쨌든 편리함이 좋은 것입니다.
.table-striped tbody tr:nth-of-type(odd) {
background-color: rgba(0, 0, 0, .05);
}
해보자
그럼 만들어 봅시다. 을 여러 줄 쓰고 싶지 않으므로 Vue.js로 씁니다.
세계 최대급의 동물을 무게로 순위를 매긴 10위까지를
See the Pen ZYVwag by ryo_hisano ( @료_히사노 )
on CodePen .
표시/숨기고 싶다
TODO 앱과 같이 체크한 행을 지우고 싶은 기분이 되었으므로 적당한 class를 만들고 선택한 것을 숨기려고 했습니다.
.hidden {
display: none;
}
<tr v-for="data in datas" :key="data.id" v-bind:class='{hidden:data.hide}'>
See the Pen qzKRbg by ryo_hisano ( @료_히사노 )
on CodePen .
<script async=""src="https://static.codepen.io/assets/embed/ei.js"/>
완성! 라고 생각해 체크 넣어 가면… 전혀 아름답지 않게 되었다! 왜...
↓복수 체크 넣었을 때↓
일단 쓰러져 생각해 봅시다. MDN에 따르면 다음과 같습니다.
CSS :nth-of-type() 의사 클래스는 형제 요소 그룹 내에서 지정된 유형의 요소를 위치에 따라 선택합니다.
:nth-of-type() - CSS: 캐스케이딩 스타일시트 | MDN
CSS로 멋지게 숨긴 곳에서 HTML 구조에 변함이 없기 때문에 이와 같이 됩니다. 당연히 당연합니다. 조금 전의 캡쳐로 가면, 이렇게.
1.グレー
2.白(非表示)
3.グレー
4.白(非表示)
5.グレー
6.白
어떻게 할까? (악수)
태그를 다른 태그로 둘러싸면 어떨까요? 둘러싸인 태그는 형제 요소가 없어질 것이므로, 건너뛴 상태에서 얼룩말 무늬가 적용되는 것은? <tr>...</tr>
<hidden class="hidden">
<tr>...</tr>
</hidden>
<tr>...</tr>
적절하게
에 id를 흔들어 그것을 기반으로어떻게 잘 했던 것 같습니다.
See the Pen xozgVQ by ryo_hisano ( @료_히사노 )
on CodePen .
<script async=""src="https://static.codepen.io/assets/embed/ei.js"/>
라고는 하지만...
자유 태그로 둘러싸는 등, 몹시 기분 나쁘습니다!
그러고 보니 Vue.js를 사용하고 있었던 것이었습니다! 이상합니다!
<tr v-for="data in visibleData" :key="data.id">
computed: {
visibleData() {
return this.datas.filter(function(data) {
return !data.hide;
});
}
}
Vue.js라면 행 삭제도 복원도 간단합니다.
See the Pen JQZEKw by ryo_hisano ( @료_히사노 )
on CodePen .
<script async=""src="https://static.codepen.io/assets/embed/ei.js"/>
요약
Vue.js 이외의 케이스에서도, 행의 삭제와 행의 부활을 할 수 있도록 만들면, 동적으로 행이 증감하는
참고
Reference
이 문제에 관하여(【Vue.js】동적으로 행이 증감해도 얼룩말 무늬를 듣게 하고 싶다!), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ryo_hisano/items/486e881eb1e091f7ec34텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)