mirror of
https://github.com/zclzone/vue-naive-admin.git
synced 2025-12-28 04:00:22 +08:00
31 lines
689 B
JavaScript
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)
|
|
},
|
|
}
|
|
}
|