728x90
๋ฐ์ํ
๐ก ์ค์ต ํฌ์ธํธ!
- ์ค๋์ ๊ฐ์ข ์ ๋ ฌ ๊ธฐ๋ฅ ๋ฒํผ๊ณผ ํํฐ ๊ธฐ๋ฅ ๋ฒํผ, ์๋๋๋ก ๋ฒํผ์ ๋ง๋ค์ด๋ณด์๋ค.
- ํด๋น ๊ธฐ๋ฅ๋ค์ ์ด์ ์ React ์ค์ต์ ํ ๋ ํ๋ฒ์ฉ ๊ตฌํํ๋ ๋ถ๋ถ์ด๊ธฐ๋ ํ๊ณ ์ด์ ๋ ์ฌ์์ ๋ณ๋๋ก ์ค๋ช
์ ๋ถ์ด์ง๋ ์์๋ค.
(ํน์๋ ํด๋น ๊ธฐ๋ฅ์ ๋ด์ฉ์ ๋ํด ์์ธํ ๋ณด๊ธฐ๋ฅผ ์ํ์๋ ๋ถ์ ์ฌ๊ธฐ๋ฅผ ํด๋ฆญ!)
๐ "๊ฐ๋๋ค์์ ๋ ฌ" ๋ฒํผ ๋ฐ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๐ค ์ฝ๋ ์์ฑํ๊ธฐ
<button class="btn" @click="titleSort()">๊ฐ๋๋ค์์ ๋ ฌ</button>
titleSort(){
this.rooms = [...this.roomsOriginal].sort((a,b) => {
if (a.title > b.title) return 1;
if (a.title < b.title) return -1;
return 0;
})
}
๐ค ๋ธ๋ผ์ฐ์ ๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๐ "๊ฐ๊ฒฉ์์ ๋ ฌ" ๋ฒํผ ๋ฐ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๐ค ์ฝ๋ ์์ฑํ๊ธฐ
<button class="btn" @click="priceSort()">๊ฐ๊ฒฉ์์ ๋ ฌ</button>
priceSort(){
this.rooms = [...this.roomsOriginal].sort((a,b) => a.price - b.price)
}
๐ค ๋ธ๋ผ์ฐ์ ๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๐ "๊ฐ๊ฒฉ์ญ์์ ๋ ฌ" ๋ฒํผ ๋ฐ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๐ค ์ฝ๋ ์์ฑํ๊ธฐ
<button class="btn" @click="priceReverseSort()">๊ฐ๊ฒฉ์ญ์์ ๋ ฌ</button>
priceReverseSort(){
this.rooms = [...this.roomsOriginal].sort((a,b) => b.price - a.price)
}
๐ค ๋ธ๋ผ์ฐ์ ๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๐ "50๋ง์์ดํ" ๋ฒํผ ๋ฐ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๐ค ์ฝ๋ ์์ฑํ๊ธฐ
<button class="btn" @click="under50priceFilter()">50๋ง์์ดํ</button>
under50priceFilter(){
this.rooms = [...this.roomsOriginal].filter((room) => room.price <= 500000)
}
๐ค ๋ธ๋ผ์ฐ์ ๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ
๐ "์๋๋๋ก" ๋ฒํผ ๋ฐ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๐ค ์ฝ๋ ์์ฑํ๊ธฐ
<button class="btn" @click="sortBack()">์๋๋๋ก</button>
sortBack(){
this.rooms = [...this.roomsOriginal];
}
๐ค ๋ธ๋ผ์ฐ์ ๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ
728x90
๋ฐ์ํ
'[๊ฐ๋ฐ] Practice > Vue.js' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Vue.js] Blog ํ๋ก์ ํธ ์์ฑํ๊ธฐ ๋ฐ Bootstrap ์ฌ์ฉํ๊ธฐ (0) | 2022.04.05 |
---|---|
[Vue.js] Vue ์ ๋ผ์ดํ์ฌ์ดํด ํ์ฉํ๊ธฐ (0) | 2022.04.04 |
[Vue.js] Vue ์์ UI ์ ๋๋ฉ์ด์ ํจ๊ณผ ์ฃผ๊ธฐ (0) | 2022.04.03 |
[Vue.js] watcher ๋ก ๋ฐ์ดํฐ ๊ฐ์ํ๊ธฐ (0) | 2022.04.03 |
[Vue.js] ์ฌ์ฉ์์ input ๋ฐ์์ค๊ธฐ (0) | 2022.04.03 |