b-form-select 사용 시 v-model에 연동한 값에 value 값만 들어오는데, text 값도 필요한 상황이었다.
결론은 :options 대신 b-form-select-option을 사용하면 된다.
<예제>
value 값을 options으로 설정해주면 선택한 객체 값이 통째로 넘어간다.(ex. { id: 1, name: 'Mike Macdonald', age: 42 })
<template>
<div>
<b-form-select
v-model="selectedItem"
>
<b-form-select-option
v-for="option in selectOptions"
:key="option.value"
:value="option"
>
{{ option.text }}
</b-form-select-option>
</b-form-select>
</div>
</template>
<script>
export default {
data() {
return {
selectedItem: null,
options: [
{ id: 1, name: 'Mike Macdonald', age: 42 },
{ id: 2, name: 'Larsen Shaw', age: 27 },
{ id: 3, name: 'Jami Cord', age: 81 },
],
}
}
}
</script>
<style lang="scss" scoped>
</style>
<value만 넘어가는 :options 사용한 예제>
원래 option 항목을 연동할 때 아래와 같이 :options를 이용하여 연동했었다.
<template>
<div>
<b-form-select
v-model="selectedItem"
:options="selectOptions"
>
</b-form-select>
</div>
</template>
<script>
export default {
data() {
return {
selectedItem: null,
options: [
{ id: 1, name: 'Mike Macdonald', age: 42 },
{ id: 2, name: 'Larsen Shaw', age: 27 },
{ id: 3, name: 'Jami Cord', age: 81 },
],
}
}
}
</script>
참고
'공부 > TIL' 카테고리의 다른 글
EChart 차트 영역 별로 각각 배경 색 지정(markArea) (0) | 2023.03.17 |
---|---|
[Vue, JS] FileReader.onload 순서대로 실행(feat. Promise) (0) | 2022.11.09 |
[Tip] VSCode console.log 단축키 등록 (0) | 2022.08.12 |
[TIL] d3.js text input box 삽입 (0) | 2022.08.12 |
[TIL] Bootstrap columns grid 커스터마이징(ex. cols="2.5") (0) | 2022.07.29 |