मेरे पास कुछ फॉर्म सत्यापन के साथ एक घटक है। यह एक मल्टी स्टेप चेकआउट फॉर्म है। नीचे दिया गया कोड पहले चरण के लिए है। मैं यह सत्यापित करना चाहता हूं कि उपयोगकर्ता ने कुछ पाठ दर्ज किए, अपना नाम वैश्विक स्थिति में संग्रहीत किया और फिर अगले चरण पर भेज दिया। मैं vee-validate और vuex का उपयोग कर रहा हूँ
<template>
<div>
<div class='field'>
<label class='label' for='name'>Name</label>
<div class="control has-icons-right">
<input name="name" v-model="name" v-validate="'required|alpha'" :class="{'input': true, 'is-danger': errors.has('name') }" type="text" placeholder="First and Last">
<span class="icon is-small is-right" v-if="errors.has('name')">
<i class="fa fa-warning"></i>
</span>
</div>
<p class="help is-danger" v-show="errors.has('name')">{{ errors.first('name') }}</p>
</div>
<div class="field pull-right">
<button class="button is-medium is-primary" type="submit" @click.prevent="nextStep">Next Step</button>
</div>
</div>
</template>
<script>
export default {
methods: {
nextStep(){
var self = this;
// from baianat/vee-validate
this.$validator.validateAll().then((result) => {
if (result) {
this.$store.dispatch('addContactInfoForOrder', self);
this.$store.dispatch('goToNextStep');
return;
}
});
}
},
computed: {
name: function(){
return this.$store.state.name;
}
}
}
</script>
मेरे पास ऑर्डर स्टेट को संभालने और नाम रिकॉर्ड करने के लिए एक स्टोर है। अंततः मैं मल्टी स्टेप फॉर्म से सभी जानकारी सर्वर पर भेजना चाहता हूं।
export default {
state: {
name: '',
},
mutations: {
UPDATE_ORDER_CONTACT(state, payload){
state.name = payload.name;
}
},
actions: {
addContactInfoForOrder({commit}, payload) {
commit('UPDATE_ORDER_CONTACT', payload);
}
}
}
जब मैं इस कोड को चलाता हूं तो मुझे एक त्रुटि मिलती है Computed property "name" was assigned to but it has no setter.
मैं नाम क्षेत्र से वैश्विक राज्य के लिए मूल्य कैसे बांध सकता हूं? मैं चाहूंगा कि यह लगातार बना रहे ताकि यदि कोई उपयोगकर्ता एक कदम पीछे जाए ("अगला चरण" पर क्लिक करने के बाद) तो वे इस चरण में दर्ज किए गए नाम को देखेंगे
v-for
एक सेटर के बिना गणना पर उपयोग करने के साथ-साथ इस चेतावनी को भी फेंकता है।