Vue3 响应式,且是函数返回的值,请教不low的写法

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

这种用法挺普遍的

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632