目的: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)
}
}
})
}