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