Я работаю над расширением Chrome, и у меня есть выпадающее меню на двух разных экранах.Я использую router-link
для передачи правильного параметра между двумя окнами, но у меня проблема с выпадающим меню.Он всегда выбирает первое значение, несмотря на отображение правильных данных на экране.
settings.vue
<router-link :to="{ name: 'SummaryWId', params: { accountid: chosenAccount.apikey}}" text="summary"><span style="cursor: pointer;" title="Summary"></span></router-link>
accountSummary.vue
<router-link :to="{ name: 'SettingsWId', params: { accountid: chosenAccount.apikey}}" text="settings"><span style="cursor: pointer;" title="Settings"></span></router-link>
Я включаю файлы выпадающего меню на страницах выше.Единственное различие между ними заключается в названии, а name:"SummaryWId"
- это name:"SettingsWId"
в другом файле.Мой следующий шаг - объединить два утопленных файла в один.
accountDropDown.vue
<template>
<span>
<select @change="followLink" >
<option
v-for="account in allNamedAccounts"
v-if="account.network_name != undefined"
:value="account.apikey"
v-text="account.network_name">
</option>
</select>
</span>
</template>
<script>
import {dataGetter} from "@/datagetter/dataGetter";
export default{
name:"accountDropDown",
mixins:[dataGetter],
data(){
return {};
},
methods:{
followLink(e){
this.$router.push(
{
name:"SummaryWId",
params:{
accountid:e.target.value
}
}
);
this.$emit('linkfollow');
},
},
}
</script>
dataGetter.js
methods:{
allAccounts(){
return this.$store.getters.accounts;
},
firstAccount(){
let key = Object.keys(this.allAccounts())[0];
return this.allAccounts()[key];
},
},
computed:{
chosenAccount(){
if( this.accountId() != undefined ){
let accounts = this.allAccounts();
return this.allAccounts()[this.accountId()];
}else{
return this.firstAccount();
}
},
allNamedAccounts(){
let accounts = this.allAccounts();
let clean = [];
for(let account in accounts){
if( accounts[account] != undefined){
clean.push(accounts[account]);
}
}
return clean;
},
},
Похоже, я что-то не так делаю в файле dataGetter
.Я пытался работать с порядком в массиве, но это не решило проблему.
Я действительно не уверен, что мне не хватает, и любая помощь будет оценена.