Appearance
EySelect组件示例(推荐使用)
在日常业务中,我们经常会用到 Select,但原组件在某些场景下需要重复处理逻辑,缺少统一封装。
基于此,我在工作中对其进行了二次封装,实现了以下功能:
将这些常见场景抽离,封装成一个更易用的
Select组件
API
Attributes
| 成员 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| api | 异步请求数据的接口 | (data?: Record<string, any>) => Promise<any> | - |
| value | Select 组件接收的值 | string | number | array | object | null |
| options | 下拉选项数组 | SelectProps['options'] | [] |
| elProps | a-select 组件的 props | Partial<SelectProps> & { style?: CSSProperties } | {} |
| autoRequest | 是否在 mounted 时自动请求 | boolean | true |
| alwaysLoad | 每次点击都触发加载 | boolean | false |
| scrollLoad | 下拉加载 | boolean | false |
| handlerLoadFn | 拦截返回的值处理函数 | (res: any) => any[] | - |
| page | 分页字段设置详细解析 | TPage | undefined |
| extraParams | API 请求时额外携带的参数 | Record<string, any> | {} |
page
一个简单对象,阐述请求时page_no,page_size需要对应使用哪些字段,total_key为返回字段
ts
page={
page_no_key?: string;
page_size_key?: string;
total_key?: string;
}