zy-vue-library/hooks/useDataDictionary/index.js

19 lines
657 B
JavaScript

import { ref } from "vue";
import { getDataType } from "../../utils/index.js";
/**
* @param {Function} api - 接口请求函数,用于获取数据字典内容
* @param {String} id - 数据字典的id
* @returns {Array} 返回对象包含以下属性:
* - {Ref<Array>} 0 - 数据字典数据,使用 Vue 的 ref 包裹的数组,包含字典项列表
*/
export default function useDataDictionary(api, id) {
if (getDataType(api) !== "Function" && getDataType(api) !== "AsyncFunction")
throw new Error("api必须是一个函数");
const data = ref([]);
api({ parentId: id }).then((res) => {
data.value = res;
});
return [data];
}