Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Vue.js] 필터링/정렬 결과 표시 본문
<template>
<div>
<h2>필터링된 아이템</h2>
<ul>
<li v-for="filteredItem in filteredItems" :key="filteredItem.id">
{{ filteredItem.name }}
</li>
</ul>
</div>
</template>
<script>
import { computed, reactive } from 'vue';
export default {
setup() {
const items = reactive([
{ id: 1, name: '사과', category: '과일' },
{ id: 2, name: '당근', category: '채소' },
{ id: 3, name: '딸기', category: '과일' },
{ id: 4, name: '고구마', category: '채소' },
]);
// 계산된 속성을 사용하여 필터링된 아이템을 반환
const filteredItems = computed(() => {
return items.filter(item => item.category === '과일');
});
return { filteredItems };
}
};
</script>
<style scoped>
/* 컴포넌트에만 적용될 스타일을 작성할 수 있습니다. */
</style>
위 예제에서는 원본 데이터를 수정하지 않고 필터링된 결과를 표시하는 방법을 보여줍니다.
Vue에서는 필터링된 결과를 표시하기 위해 계산된 속성을 활용할 수 있습니다. 계산된 속성은 종속성이 변경될 때마다 다시 계산되는 특성을 가지고 있으므로, 필터링 또는 정렬된 결과를 실시간으로 업데이트할 수 있습니다.
위 예제에서는 items 배열을 반응형으로 선언하고, 이를 기반으로 필터링된 아이템을 계산된 속성으로 반환합니다. 이렇게 하면 원본 데이터를 변경하지 않고도 필요에 따라 동적으로 데이터를 필터링할 수 있습니다.