目的:customMenu 要是响应式的, 且每次返回的值,是动态的 通过函数处理出来的。
下面的代码可以达到目的,但感觉有点Low,请教简单的写法
import {customRef} from "vue";
const customMenu = myRef(1,10) //
function myRef(value:number, delay:number) {
let timeout
return customRef((track, trigger) => {
return {
get() {
value = menuLeftData.value.filter(item => item.edit).length // 主要是要这个处理一下
track() // 通知Vue追踪value的变化
return value
},
set(newValue:number) {
timeout = setTimeout(() => {
value = newValue
trigger() // 通知Vue去重新解析模板
}, delay)
}
}
})
}
动态数据可以computed 处理一下,格式优美
const count = ref(1);
const plusOne = computed(() => count.value + 1);
实用就行啦,当然不是没有再好一点的,感觉你这个函数应该放到状态管理里面(vuex)更好
这种用法挺普遍的
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!