1
0
mirror of https://github.com/zclzone/vue-naive-admin.git synced 2025-12-28 04:00:22 +08:00
Files
vue-naive-admin/src/composables/useAliveData.js
2024-06-06 18:05:36 +08:00

31 lines
689 B
JavaScript

/**********************************
* @Author: Ronnie Zhang
* @LastEditor: Ronnie Zhang
* @LastEditTime: 2023/12/05 21:22:28
* @Email: zclzone@outlook.com
* Copyright © 2023 Ronnie Zhang(大脸怪) | https://isme.top
**********************************/
const lastDataMap = new Map()
export function useAliveData(initData = {}, key) {
key = key ?? useRoute().name
const lastData = lastDataMap.get(key)
const aliveData = ref(lastData || { ...initData })
watch(
aliveData,
(v) => {
lastDataMap.set(key, v)
},
{ deep: true },
)
return {
aliveData,
reset() {
aliveData.value = { ...initData }
lastDataMap.delete(key)
},
}
}