前提・実現したいこと
v-treeview と v-text-field を左右に並べて配置しています。
v-treeview のノードを選択すると、そのノード名がv-text-field に自動的に表示されるようにしたいのです。
発生している問題・エラーメッセージ
tree1.vue の <a @click="save(item)">{{ item.name }}</a> でストアに保存できましたが、(添付図をご覧ください)
<v-text-field v-bind:value="treeNode"> でvalue には何も表示されません。
下の通りコードを書きましたが、どこが間違っているのでしょうか?
該当のソースコード
JavaScript
1tree1.vue 2<template> 3 <v-treeview 4 v-model="tree" 5 :items="items" 6 activatable 7 item-key="name"> 8 <template slot="label" slot-scope="{ item }"> 9 <a @click="save(item)">{{ item.name }}</a> 10 </template> 11 </v-treeview> 12</template> 13 14<script> 15 export default { 16 methods:{ 17 save: function(item) { 18 this.$store.commit('save', { 19 id: item.id , name: item.name 20 }); 21 }, 22 }, 23</script> 24 25********************* 26index.js 27 28export default new Vuex.Store({ 29 state: { 30 tree:[ 31 {id: 0, name: 'none'} 32 ] 33 }, 34 mutations: { 35 save(state, tree){ 36 state.tree.push(tree) 37 }, 38 }, 39 40 getters: { 41 getFolderName: state => { 42 return state.tree.name 43 }, 44}) 45 46********************* 47text.vue 48 //text.vue<template>上に tree1.vueを置いています 49 50<template> 51<v-container> 52 <v-col cols="5"> 53 <tree1></tree1> 54 </v-col> 55 <v-col cols="7"> 56 <v-text-field label="フォルダ名" v-bind:value="treeNode"> 57 </v-text-field> 58 </v-col> 59</v-container> 60</template> 61 62 63<script> 64 watch: { 65 treeNode() { return $store.getters.getFolderName;} 66 }, 67</script>
あなたの回答
tips
プレビュー