반응형
Vue.js - 마지막 항목 손실 시 요소-ui el-table v-for
제목 목록으로 그룹화 테이블 헤드를 생성하려고 하는데, v-for 루프가 마지막 항목 하나를 잃어버렸어.
html 템플릿 코드:
<div id="app">
<el-table :data="tableData" stripe highlight-current-row height="100%">
<template v-for="title in titles">
<el-table-column v-if="typeof title === 'object'" :key="title" fixed :prop="Object.entries(title)[0][0]"
:label="Object.entries(title)[0][0]">
<el-table-column v-for="subtitle in Object.entries(title)[0][1]" :key="subtitle" fixed :prop="subtitle"
:label="subtitle">
</el-table-column>
</el-table-column>
<el-table-column v-else :key="title" fixed :prop="title" :label="title">
</el-table-column>
</template>
</el-table>
</div>
JavaScript 코드:
new Vue({
el: "#app",
data() {
return {
titles: [
"title 1",
{ "title 2": ["title 2-1", "title 2-2"] },
"title 3",
"title 4"
]
};
}
});
렌더 결과는 다음과 같다.
내 문제는 마지막 항목인 "제4 제목"이 표시되지 않고 빈칸만 남았다는 거야, 누군가 나를 도와줄 수 있기를 바라.
몇 가지 디버깅을 한 후 나는 다음과 같은 것을 알게 되었다.fixed
소품 추가is-hidden
로 분류하다.th
숨기는 요소the title4
그리고 다른 것을 숨기지 않는다(왜 이런 일이 일어나는지 이해할 수 없다!!), 이것을 해결하기 위해 나는 그 문제를 제거하려고 노력했다.fixed
조건부 렌더링을 역방향으로 설정:
<el-table :data="tableData" stripe highlight-current-row height="100%">
<template v-for="(title,index) in titles">
<el-table-column v-if="typeof title !== 'object'" :key="title" :prop="title" :label="title">
</el-table-column>
<template v-else>
<el-table-column :prop="Object.entries(title)[0][0]" :label="Object.entries(title)[0][0]">
<el-table-column v-for="subtitle in Object.entries(title)[0][1]" :key="subtitle" fixed :prop="subtitle" :label="subtitle">
</el-table-column>
</el-table-column>
</template>
</template>
</el-table>
참조URL: https://stackoverflow.com/questions/63099065/vue-js-element-ui-el-table-v-for-lost-the-last-item
반응형
'programing' 카테고리의 다른 글
vue 구성 요소에서 vuex를 사용하는 방법? (0) | 2022.04.10 |
---|---|
이전 요청 실시간 검색 응답 취소 (0) | 2022.04.09 |
UnicodeEncodeError: 'ascII' 코덱이 위치 20에서 문자 u'\xa0'을 인코딩할 수 없음: 서수가 범위(128)에 없음 (0) | 2022.04.09 |
반응 - 소품을 전달하여 입력 defaultValue 변경 (0) | 2022.04.09 |
여러 경로를 한 번에 보여주는 리액트라우터 v4 (0) | 2022.04.09 |