vxe-table-demonic
Version:
一个基于 vue 的 PC 端表单/表格组件,支持增删改查、虚拟列表、虚拟树、懒加载、快捷菜单、数据校验、树形结构、打印导出、表单渲染、数据分页、弹窗、自定义模板、渲染器、JSON 配置式...
88 lines (72 loc) • 2.5 kB
TypeScript
import { SetupContext, RenderFunction, ComponentPublicInstance } from 'vue'
import { VXEComponent, VxeComponentBase, SizeType, VxeEvent, ValueOf } from './component'
/* eslint-disable no-use-before-define */
/**
* 组件 - 单选框组
* @example import { VxeRadioGroup } from 'vxe-components'
*/
export const VxeRadioGroup: VXEComponent<VxeRadioGroupProps, VxeRadioGroupEventProps, VxeRadioGroupSlots>
/**
* 组件 - 单选框组
*/
export const RadioGroup: typeof VxeRadioGroup
export type VxeRadioGroupInstance = ComponentPublicInstance<VxeRadioGroupProps, VxeRadioGroupConstructor>
export interface VxeRadioGroupConstructor extends VxeComponentBase, VxeRadioGroupMethods {
name: string
props: VxeRadioGroupProps
context: SetupContext<VxeRadioGroupEmits>
renderVN: RenderFunction
}
export type VxeRadioGroupEmits = [
'update:modelValue',
'change'
]
export type VxeRadioGroupProps = {
size?: VxeRadioGroupPropTypes.Size
/**
* 严格模式,不允许取消
*/
strict?: VxeRadioGroupPropTypes.Strict
modelValue?: VxeRadioGroupPropTypes.ModelValue
disabled?: VxeRadioGroupPropTypes.Disabled
}
export namespace VxeRadioGroupPropTypes {
export type Size = SizeType
export type ModelValue = any
export type Strict = boolean
export type Disabled = boolean
}
export interface RadioGroupMethods {
dispatchEvent(type: ValueOf<VxeRadioGroupEmits>, params: any, evnt?: Event): void
}
export interface VxeRadioGroupMethods extends RadioGroupMethods { }
export interface RadioGroupPrivateMethods {
handleChecked(params: { label: any }, evnt: Event): void
}
export interface VxeRadioGroupPrivateMethods extends RadioGroupPrivateMethods { }
export namespace VxeRadioGroupDefines {
interface RadioGroupEventParams extends VxeEvent {
$radioGroup: VxeRadioGroupConstructor
}
export interface ChangeParams {
label: any
}
export interface ChangeEventParams extends RadioGroupEventParams, ChangeParams { }
}
export type VxeRadioGroupEventProps = {
onChange?: VxeRadioGroupEvents.Change
}
export interface VxeRadioGroupListeners {
change?: VxeRadioGroupEvents.Change
}
export namespace VxeRadioGroupEvents {
export type Change = (params: VxeRadioGroupDefines.ChangeEventParams) => void
}
export interface VxeRadioGroupSlots {
/**
* 自定义插槽模板
*/
[key: string]: ((params: {
[key: string]: any
}) => any) | undefined
}