Comments (4)
Still on the roadmap for v2.3
which is starting to receive significant attention. As of today you need to use the key mechanism described above or another work around to "reset" the form.
from vue-formulate.
Actually, and kinda incredibly, this hasn't come up before. I suppose people usually redirect users on success or donβt reset the form? Seems like a totally valid use case though.
Current API
There's an easy "vue" way to do this, you can swap out the key
prop which is a special reserved prop in vue, and will cause the component to-remount fresh.
<FormulateForm
:key="keyValue"
@submit="submit"
>
...
</FormulateForm>
...
<script>
export default {
data() {
return {
'keyValue': 'foo'
},
methods: {
submit () {
this.keyValue = 'bar' // this will reset the form
}
}
}
</script>
Future API
As a developer working on this problem right now, what API would you like? My inclination would be to tap into the named forms and add a "reset" method. Here's a proposal, tell me what you think:
<template>
<FormulateForm
name="forgot"
@submit="resetPassword"
>
<FormulateInput
type="email"
name="email"
validation="required|email"
/>
<FormulateInput
type="submit"
/>
</FormulateForm>
</template>
<script>
export default {
methods: {
async resetPassword () {
try {
const res = await this.$axios.restPassword('/api/reset')
alert('success')
this.$formulate.reset('forgot')
} catch (err) {
this.$formulate.handle(err, 'forgot')
}
}
}
</script>
That feels fairly clean to me, but I'm open to suggestions.
from vue-formulate.
Love that you proposed a solution in the interim!
I think your proposal for a future solution makes perfect sense. With another form library I've used extensively, the form (itself) had a reset method. This is a similar API and encourages others to use the full abilities of the named form (like $formulate.handle
, which is a hidden gem).
from vue-formulate.
Any updates on this?
from vue-formulate.
Related Issues (20)
- Nuxt integration issue for plugin that needs window object
- Vue Formulate and Graphql HOT 2
- Add opportunity to use templates with JSON Schema
- Asynchronous file upload or an event to see if all uploads are done
- Custom Validation Messages HOT 2
- Vue 2.7 & script setup
- Need to get the name of the file Input in uploader
- Slow perfomance to type in input fieds. HOT 1
- textarea emits false immediately after value when wrapped in conditional statement in tsx template HOT 1
- FileRemoved get ID or any reference about file
- Dark theme for the project? HOT 3
- @input event is triggered so many times while we are sliding the slider
- "addMore" slot content in repeatable group input not showing up HOT 2
- E-mail validation rule HOT 2
- Performance degradation (super slow TTFB) with long select option list HOT 2
- The behavior of Vue Formulate File Input is incorrect during uploading
- File upload: Uncaught (in promise) Unable to upload file
- How to change the range slider dot color? HOT 2
- Upgrade guide from VueFormulate to FormKit
- Vue Formulate Fails to run with Inertia js HOT 2
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-formulate.