Ao editar o projeto, foi feita a separação nas views e foi adicionado mais uma mutations. Depois das alterações feitas, não consigo salvar nenhum projeto, pois ele não salva, só vai para tela em branco: Segue abaixo o código:
views/Formulario.vue
mounted (){
if(this.id){
const projeto = this.store.state.projetos.find(proj => proj.id == this.id)
this.nomeDoProjeto = projeto?.nome ??''
}
},
methods: {
salvar() {
if (this.id) {
this.store.commit('ALTERA_PROJETO', {
id: this.id,
nome: this.nomeDoProjeto
})
} else {
this.store.commit('ADICIONA_PROJETO', this.nomeDoProjeto)
}
this.nomeDoProjeto = "";
this.$router.push('/projetos')
},
},
store/index.ts
export const store = createStore<Estado>({
state:{
projetos:[]
},
mutations:{
['ADICIONA_PROJETO'](state, nomeDoProjeto: string){
console.log('salvando o projeto')
const projeto = {
id: new Date().toISOString(),
nome: nomeDoProjeto
} as IProjeto
state.projetos.push(projeto)
},
['ALTERA_PROJETO'](state, projeto: IProjeto){
console.log('Editando o projeto')
const index = state.projetos.findIndex(proj => proj.id == projeto.id)
state.projetos[index] = projeto
}
}
})
Caso queira o link do projeto. https://github.com/poliveiraneto/tarefas