前提・実現したいこと
vueで、連想配列からvalue
を取得・表示し、対応するkey
をselected
(data)に渡したいです。
お詳しい方、ご教示お願いできませんでしょうか?
該当のソースコード
前提として、fruitList.js
で連想配列を定義しています。
javascript
1const FRUIT_LIST = { 2 0: "りんご", 3 1: "みかん", 4 2: "バナナ", 5} 6 7export const fruitList = () => { 8 return FRUIT_LIST; 9} 10 11export const fruitValue = (i) => { 12 return FRUIT_LIST[i] 13}
下記vueファイルについて、
コンポーネントで上記の連想配列をimportしています。
やりたいこととしては、
1: プルダウンには「りんご、みかん、バナナ」と表示する。(連想配列のvalue
を表示する)
2: 選択したら、selected
(data)に対応するkey
を渡す。(例:りんごを選択したら0、みかんを選択したら1を渡す)
vue
1<template> 2 <div class="component"> 3 4 <!-- { "0": "りんご", "1": "みかん", "2": "バナナ" } と表示される--> 5 <h2>{{ fruitsList() }}</h2> 6 7 <!-- "りんご","みかん","バナナ" のプルダウンを表示したい。--> 8 <!-- 選択時、valueに対応するkey(0,1,2いずれか)を渡したい。--> 9 <select v-model="selected"> 10 <option v-for="fruit in fruitsList()"> 11 {{ fruit }} 12 </option> 13 </select> 14 </div> 15</template> 16 17<script> 18import {fruitsList, fruitValue} from "~/consts/fruitList"; 19 20export default { 21 data() { 22 return { 23 selected: "", 24 } 25 }, 26 27//(中略) 28 methods: { 29 genderList, 30 genderValue, 31 }, 32} 33</script>
上記の方法では、プルダウンには連想配列のvalue
「りんご、みかん、バナナ」が表示されるのですが、
選択してもselected
に対応するkey
(0,1,2いずれか)が渡ることはありませんでした。
<option>
タグに:key=fruit.value
を設定しても、期待した結果は得られませんでした。
初心者質問で恐縮なのですが、お詳しい方、ご教示お願いできませんでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/27 06:20