I make wizard with Livewire, when clicking on “Next” button entered data are validated and kept under component variables. But if user refresh page with CTRL+R all data submitted on prior steps are lost. If there is a way to keep these data ?
I had similar issue in vuejs/vuex app several years ago and as my client insisted that it must be fixed I found a decision with local storage, like :
export default new Vuex.Store({
state: {// store data
avatar_url: '',
}, // state: { // store data
getters: {
avatar_url(state) {
if (state.avatar_url.length > 0) {
return state.avatar_url
}
let avatar_url = localStorage.getItem('avatar_url')
if (avatar_url != null && typeof avatar_url === 'string') {
if (avatar_url.length > 0) {
return avatar_url
}
}
return ''
}, // avatar_url(state) {
mutations: { // methods to make changes to vuex store
auth_success(state, data) {
state.status = 'success'
state.token = data.token
localStorage.setItem("token", data.token)
if (typeof data.avatar_url != 'undefined') {
state.avatar_url = data.avatar_url
localStorage.setItem("avatar_url", data.avatar_url)
}
state.user = data.user
localStorage.setItem("user", JSON.stringify(data.user))
},
and it worked for me.
Has Livewire similar extentions/decison ?
Thanks in advance!