ApiSelect 远程下拉
基于antd-design-vue的Select组件的二次封装,获取api数据生成Select组件所需的options。(除了以下参数配置,Select组件参数也支持)
参数配置
参数 | 类型 | 必填 | 默认值 | 描述 |
---|---|---|---|---|
value | string或string[]或number或number[] | 否 | - | 指定当前选中的条目 |
api | () => Promise | 是 | - | 接口 |
params | Object | 否 | - | 接口参数 |
numberToString | boolean | 否 | - | 把传给Select组件的options中的value(即valueField)字段类型由number类型转成字符串类型 |
resultField | string | 否 | - | 响应数据结构(支持 xxx.xxx.xx) |
labelField | string | 否 | label | 显示字段 |
valueField | string | 否 | value | 取值字段 |
immediate | string | 否 | true | 是否渲染请求 |
使用示例
<template>
<BasicForm
ref="formElRef"
:class="'jee-select-demo-form'"
:labelCol="{ span: 6 }"
:wrapperCol="{ span: 14 }"
:showResetButton="false"
:showSubmitButton="false"
:schemas="schemas"
:actionColOptions="{ span: 24 }"
style="height: 100%"
>
</BasicForm>
</template>
<script lang="ts">
import { computed, defineComponent, unref, ref } from 'vue';
import { BasicForm } from '/@/components/Form';
import { schemas } from './jeecgComponents.data';
import { optionsListApi } from '/@/api/demo/select';
export default defineComponent({
components: {
BasicForm,
},
name: 'JeecgComponents',
setup() {
return {
schemas: [
{
label: '远程下拉',
field: 'name4',
component: 'ApiSelect',
componentProps: {
api: optionsListApi,
resultField: 'list',
labelField: 'name',
valueField: 'id',
},
colProps: {
span: 12,
},
},
],
};
},
});
</script>
预览效果