vxe-table-demonic
Version:
一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...
67 lines (61 loc) • 1.55 kB
TypeScript
import { VXEComponent, SlotVNodeType } from './component'
import { VxeSelectConstructor } from './select'
/* eslint-disable no-use-before-define */
/**
* 组件 - 下拉框选项
* @example import { VxeOption } from 'vxe-components'
*/
export const VxeOption: VXEComponent<VxeOptionProps>
/**
* 组件 - 下拉框选项
*/
export const Option: typeof VxeOption
export type VxeOptionProps = {
/**
* 绑定值
*/
value?: VxeOptionPropTypes.Value
/**
* 显示内容
*/
label?: VxeOptionPropTypes.Label
/**
* 是否显示
*/
visible?: VxeOptionPropTypes.Visible
className?: VxeOptionPropTypes.ClassName
/**
* 是否禁用
*/
disabled?: VxeOptionPropTypes.Disabled
slots?: {
default?: string | ((params: {
option: any
$select: VxeSelectConstructor
}) => SlotVNodeType | SlotVNodeType[]) | null
}
}
export namespace VxeOptionPropTypes {
export type Value = any
export type Label = string | number | boolean
export type Visible = boolean
export type ClassName = string | ((params: {
option: any
$select: VxeSelectConstructor
}) => string)
export type Disabled = boolean
export type Slots = {
default?: string | ((params: {
option: any
$select: VxeSelectConstructor
}) => SlotVNodeType | SlotVNodeType[]) | null
}
}
export interface VxeOptionSlots {
/**
* 自定义插槽模板
*/
[key: string]: ((params: {
[key: string]: any
}) => any) | undefined
}