vue3的表单暂存用vuex怎么写
时间: 2023-09-21 13:03:30 浏览: 88
实现表单暂存的方式有很多,其中一种是使用 Vuex 存储表单数据。具体实现方法如下:
1. 创建 Vuex store
在 Vuex store 中创建一个表单数据的 state,并定义一个 mutation 来更新表单数据。
```javascript
// store.js
import { createStore } from 'vuex'
export default createStore({
state: {
formData: {}
},
mutations: {
updateFormData(state, data) {
state.formData = data
}
}
})
```
2. 在表单组件中使用 Vuex
表单组件中通过 computed 属性获取表单数据,通过 watch 监听表单数据变化,并触发 updateFormData mutation 更新 Vuex 中的表单数据。
```javascript
<template>
<form>
<input v-model="formData.username" type="text" />
<input v-model="formData.password" type="password" />
</form>
</template>
<script>
import { computed, watch } from 'vue'
import { useStore } from 'vuex'
export default {
setup() {
const store = useStore()
// 从 Vuex 中获取表单数据
const formData = computed(() => store.state.formData)
// 监听表单数据变化,更新 Vuex 中的表单数据
watch(formData, (newValue) => {
store.commit('updateFormData', newValue)
})
return {
formData
}
}
}
</script>
```
这样,当用户在表单中输入数据时,表单数据会被存储在 Vuex 中,当用户关闭页面或者刷新页面时,表单数据不会丢失,可以通过从 Vuex 中获取表单数据来恢复表单数据。
阅读全文
相关推荐














