vue 返回相应式对象,不需要考虑异步

2025-04-13  本文已影响0人  温柔vs先生
// 批量获取字典值
export const useMultiDicts = (types) => {
  const keys = ref({});
  const noExits = [];
  types.forEach((key) => {
    const dicts = useDictStore().getDict(key);
    if (dicts) {
      keys.value[key] = dicts;
    } else {
      keys.value[key] = [];
      noExits.push(key);
    }
  });
  if (noExits.length > 0) {
    queryBatchDicts({ dictType: noExits.join(',') }).then((res) => {
      if (res.code === 200) {
        const data = res.data;
        Object.keys(data).forEach((key) => {
          keys.value[key] = (data[key] || []).map((item) => {
            return {
              dictTab: item.dictTab,
              dictValue: item.dictValue,
              value: item.dictValue,
              label: item.dictTab,
            };
          });
          useDictStore().setDict(key, keys.value[key]);
        });
      }
    });
  }

  return toRefs(keys.value);
};
上一篇 下一篇

猜你喜欢

热点阅读