19 lines
		
	
	
		
			657 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			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];
 | |
| }
 |