houdunren-vue
Version:
后盾人前端脚手架
33 lines (31 loc) • 672 B
text/typescript
import { defineStore } from 'pinia'
export default defineStore('error', {
state: () => {
return {
errors: {} as Record<string, any>,
}
},
getters: {
getError(state) {
return (name: string) => state.errors[name]
},
hasError(state) {
return Object.keys(state.errors).length > 0
},
},
actions: {
resetError() {
this.errors = {}
},
setErrors(errors: Record<string, string[]>) {
Object.entries(errors).forEach(([key, value]) => {
this.errors[key] = value[0]
})
},
clearError(name: string) {
if (this.errors[name]) {
delete this.errors[name]
}
},
},
})