UNPKG

element-plus

Version:

A Component Library for Vue3.0

81 lines (78 loc) 1.75 kB
import { isValidComponentSize } from '@element-plus/utils/validators' import type { PropType } from 'vue' import type { OptionType } from './select.types' import { t } from '@element-plus/locale' export const SelectProps = { allowCreate: Boolean, autocomplete: { type: String as PropType<'none' | 'both' | 'list' | 'inline'>, default: 'none', }, automaticDropdown: Boolean, clearable: Boolean, clearIcon: { type: String, default: 'el-icon-circle-close', }, collapseTags: Boolean, defaultFirstOption: Boolean, disabled: Boolean, estimatedOptionHeight: { type: Number, default: undefined, }, filterable: Boolean, filterMethod: Function, height: { type: Number, default: 170, // 5 items by default }, itemHeight: { type: Number, default: 34, }, id: String, loading: Boolean, loadingText: String, label: String, modelValue: [Array, String, Number, Boolean, Object] as PropType<any[] | string | number | boolean | Record<string, any> | any>, multiple: Boolean, multipleLimit: { type: Number, default: 0, }, name: String, noDataText: String, noMatchText: String, remoteMethod: Function, reserveKeyword: Boolean, options: { type: Array as PropType<OptionType[]>, required: true, }, placeholder: { type: String, default: t('el.select.placeholder'), }, popperAppendToBody: { type: Boolean, default: true, }, popperClass: { type: String, default: '', }, popperOptions: { type: Object, default: () => ({}), }, remote: Boolean, size: { type: String as PropType<ComponentSize>, validator: isValidComponentSize, }, valueKey: { type: String, default: 'value', }, }