dec12th


Vue3监听数组项变化

  
  const value = ref(0)
  const value1 = ref(0)
  const dataone = reactive<unknown[]>([])
  
  setTimeout(() => {
      value.value = 4
  }, 5000);
  setTimeout(() => {
      value1.value = 5
  }, 8000);
  setTimeout(() => {
      dataone.push({
          name: '牛总',
          age: '22'
      })
  }, 10000);
  setTimeout(() => {
      dataone[0].name = '牛总1'
  }, 12000);

  const { run, loading } = useRequest(openTenderList, {
      refreshDeps: [value, value1, dataone]
  }, {
      success(res) {
          data.length = 0;
          total.value = _.get(res, 'data.data.total', 0);
          data.push(...(_.get(res, 'data.data.records', []) || []))
      },
  })
  
  /**
  * useRequest 
  */
  
  /**
 * refreshDeps
 */
  refreshDeps.forEach(ele => {
    watch(
      () => ele,
      () => {
        console.warn('元素变化', ele);
        getSyncDataWrap(requestConfig.value);
      },
      {
        deep: true,
      }
    );
  });

可以看到依次变化的元素被监听到了

文章作者: KarlFranz
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 reprint policy. If reproduced, please indicate source KarlFranz !
评论
  目录