Reputation: 1461
I am using a v-for loop to get categories from a vuex store and display in a dropdown form like here:
<label for="sub-category">
<select name="sub-category" required>
<option value="">Choose sub category</option>
<option v-for="(sub, index) in subcategory" :key="index" :value="sub.value">{{ sub.name }}</option>
</select>
<span class="form-error">
<p>You have to choose a sub-category</p>
</span>
</label>
Now everything above works fine, but now I want to save its value to data() and then use that data to make a post request.
I tried
export default {
name: 'formPost',
data() {
return {
selectedSubCat '',
show: false,
};
},
components: {
Headers,
Footers,
},
};
then on the form add a v-model="selectedSubCat", but it's not working.
I also tried:
<select name="sub-category" required>
<option value="">Choose sub category</option>
<option v-model="selectedSubCat[sub.value]" v-for="(sub, index) in subcategory" :key="index" :value="selectedSubCat">{{ sub.name }}</option>
</select>
How can I fix this problem?
I FIXED IT :(
<select name="sub-category" required v-model="selectedSubCat">
<option value="">Choose sub category</option>
<option v-for="(sub, index) in subcategory" :key="index" :value="selectedSubCat">{{ sub.name }}</option>
</select>
I was missing it :( - I had to get the value from select...
Upvotes: 1
Views: 780
Reputation: 1461
This is the solution to my problem!
<select name="sub-category" required v-model="selectedSubCat">
<option value="">Choose sub category</option>
<option v-for="(sub, index) in subcategory" :key="index" :value="selectedSubCat">{{ sub.name }}</option>
</select>
Upvotes: 1