2017-04-07 52 views
0

我是新與vuejs我有這樣的腳本處理多個選擇,我想只用簡單的選擇對國家和城市Vuejs更改多個選擇簡單的選擇

我的腳本:http://codepen.io/Kradek/pen/KWLxVa?editors=1010

<div id="app"> 
    Selected Countries: {{selectedCountries}} 
    <br /> 
    <select v-model="selectedCountries" multiple > 
    <option v-for="country in countries" :value='country' :key="country.value"> 
     {{ country.name }} 
    </option> 
    </select> 
    <select v-for="country in selectedCountries" v-model="country.selectedCity" :key="country.value"> 
    <option v-for="city in country.cities" :key="city.value" :value="city">{{city.name}}</option> 
    </select> 
</div> 

console.clear() 
const countries = [ 
    { 
    value: 3, 
    name: 'FRANCE', 
    cities: [ 
     { value: 31, name: 'Paris' }, 
     { value: 32, name: 'Marseille' } 
    ], 
    selectedCity:{ value: 31, name: 'Paris' } }, 
    { 
    value: 5, 
    name: 'USA', 
    cities: [ 
     { value: 51, name: 'New-York' }, 
     { value: 52, name: 'Boston' } 
    ], 
    selectedCity: null}, 
    { 
    value: 6, 
    name: 'CANADA', 
    cities: [ 
     { value: 61, name: 'Montreal' }, 
     { value: 62, name: 'Vancouver' }, 
     { value: 63, name: 'Ottawa' }, 
     { value: 64, name: 'Toronto' } 
    ], 
    selectedCity: null 
    }, 
    { 
    value: 8, 
    name: 'MOROCCO', 
    cities:[ 
     { value: 81, name: 'Rabat' }, 
     { value: 82, name: 'Casablanca' }, 
     { value: 83, name: 'Fes' } 
    ], 
    selectedCity: null 
    } 
] 

new Vue({ 
    el: "#app", 
    data: function() { 
    return { 
     countries, 
     selectedCountries: [] 
    } 
    } 
}); 

我感謝所有幫助

+0

你已經嘗試了什麼,什麼不按預期工作? – thanksd

+0

我不知道如何改變這種從多重選擇到簡單選擇 – Codinga

回答

2

模板

<div id="app"> 
    Selected Country: {{selectedCountry}} 
    <br /> 
    <select v-model="selectedCountry" > 
    <option v-for="country in countries" :value='country' :key="country.value"> 
     {{ country.name }} 
    </option> 
    </select> 
    <select v-if="selectedCountry" v-model="selectedCountry.selectedCity"> 
    <option v-for="city in selectedCountry.cities" :key="city.value" :value="city">{{city.name}}</option> 
    </select> 
</div> 

代碼

const countries = [ 
    { 
    value: 3, 
    name: 'FRANCE', 
    cities: [ 
     { value: 31, name: 'Paris' }, 
     { value: 32, name: 'Marseille' } 
    ], 
    selectedCity: null }, 
    { 
    value: 5, 
    name: 'USA', 
    cities: [ 
     { value: 51, name: 'New-York' }, 
     { value: 52, name: 'Boston' } 
    ], 
    selectedCity: null}, 
    { 
    value: 6, 
    name: 'CANADA', 
    cities: [ 
     { value: 61, name: 'Montreal' }, 
     { value: 62, name: 'Vancouver' }, 
     { value: 63, name: 'Ottawa' }, 
     { value: 64, name: 'Toronto' } 
    ], 
    selectedCity: null 
    }, 
    { 
    value: 8, 
    name: 'MOROCCO', 
    cities:[ 
     { value: 81, name: 'Rabat' }, 
     { value: 82, name: 'Casablanca' }, 
     { value: 83, name: 'Fes' } 
    ], 
    selectedCity: null 
    } 
] 

new Vue({ 
    el: "#app", 
    data: function() { 
    return { 
     countries, 
     selectedCountry: null 
    } 
    } 
}); 

Updated pen

+0

謝謝男士的回覆,我們可以聊聊天嗎?我有一些issus? – Codinga

+0

@Codinga現在無法前往會議。 – Bert

+0

這不完全是我想要的,我需要的結果是相同的,但使用簡單的選擇,所以當選擇第一個國家時,我得到這個國家的城市,以及在另一個國家的時候,我也像這個例子一樣得到這個國家的城市,但是,有我選擇的所有城市 – Codinga