Comments (2)
Here is the solution I came up with https://jsfiddle.net/bt5dhqtf/591/
In your submit step, you change the step which triggers your server request and after that return a promise. The catch here is that the promise listens for a local event in your parent component. When that even is emitted, the promise resolves/rejects accordingly.
submitFirstStep() {
this.step++
return new Promise((resolve,reject)=>{
this.$on('step-validated',(value)=>{
resolve(value)
})
})
},
In your stepCompleted event handler you simply emit the local event mentioned above
stepCompleted(data) {
//Validation and error data is received here...
this.$emit('step-validated',data)
},
So you have a pretty simple solution.
Trigger before-change
and return a promise which listens to a local event -> make your server request -> emit the event from your component to the parent - > listen for the event in the parent component -> emit a local event in the parent component which will resolve the promise.
This way you don't have to do any workarounds and you have all your data in place, based on which you can decide whether to restrict or allow going to the next step! Hope it helps
from vue-form-wizard.
@aredev I will try to re-create a jsFiddle and start from there.
from vue-form-wizard.
Related Issues (20)
- 31 commits since the last release, can you please tag a new release? HOT 1
- Demos: Don't use v-for directives together with v-if directives on the same element.
- How to enable all tabs? HOT 1
- Slot for icons?
- Much of the Documentation is not rendering/missing
- based on user selection change the tab index not working
- Awesome Wizard and Malformed Build Process HOT 1
- How to Disable the tab2
- How come the tab anchor tag has javascript:void(0) ? Messes up CSP policies.
- how to remove the left line HOT 1
- How can I add a checked symbol?
- Lazy Load not working
- No control over the style of wizard footer buttons HOT 1
- Dynamic Button
- Reset form HOT 1
- Typescript HOT 1
- Custom Header Buttons
- Add own svg icons instead
- Hi i updated this package to vue3 and add type definition (TS) support HOT 1
- route
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vue-form-wizard.