满口金牙 2022-05-31 17:38 采纳率: 90.4%
浏览 53
已结题

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)
        }
      }
    })
  }

  • 写回答

4条回答 默认 最新

  • web修理工 2022-06-01 08:53
    关注

    动态数据可以computed 处理一下,格式优美

    
        const count = ref(1);
        const plusOne = computed(() => count.value + 1);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 6月8日
  • 已采纳回答 6月1日
  • 创建了问题 5月31日