반응형
@click in select options - Vue.js 2
선택 옵션을 @클릭하고 싶다.
지금까지 나는 다음을 가지고 있다.
<button @click="sortBy('name')">sort by name</button>
<button @click="sortBy('price')">sort by price</button>
작동하는데 옵션 태그에 삽입했더니 작동이 멈췄어.
<select name="sortBy" id="sortBy">
<option value="sort">sort By</option>
<option @click="sortBy('name')">name</option>
<option @click="sortBy('price')">price</option>
</select>
내 기능:
sortBy(sortKey) {
this.items.sort((a, b) =>
(typeof a[sortKey] === 'string' || typeof b[sortKey] === 'string') ?
a[sortKey].localeCompare(b[sortKey]) : a[sortKey] - b[sortKey]);
}
이벤트를 바인딩할 수 없음<option>
, 그리고 당신은 그것을 사용할 필요가 있다.change
의 사건.<select>
, 옵션을 클릭하면 변경 이벤트 콜백select
호출됨:
<select name="sortBy" id="sortBy" @change="sortBy(sortType)" v-model="sortType">
<option v-for="item in sortOptions" :value="item.value">{{item.text}}</option>
</select>
new Vue({
el: '...',
data: {
sortType: 'sort',
sortOptions: [
{ text: 'sort by', value: 'sort' },
{ text: 'name', value: 'name' },
{ text: 'price', value: 'price' }
]
}
})
옵션을 변경하면sortTyoe
그것으로 바뀔 것이고, @change가 콜백을 부를 것이다.sortBy(sortType)
.
참조URL: https://stackoverflow.com/questions/46260052/using-click-in-select-options-vue-js-2
반응형
'programing' 카테고리의 다른 글
파일을 문자열로 읽는 가장 간단한 방법은? (0) | 2022.05.22 |
---|---|
Eclipse 디버거는 어떤 명백한 예외 없이 항상 ThreadPoolExecutor를 차단하며, 그 이유는? (0) | 2022.05.22 |
Nuxt.js 구성 요소 내에서 어떤 레이아웃이 사용되고 있는지 확인하는 방법 (0) | 2022.05.22 |
C에서 "정적"은 무엇을 의미하는가? (0) | 2022.05.22 |
배열 정렬 시 게이터를 올바르게 사용하는 방법 (0) | 2022.05.21 |