mirror of
https://gitee.com/xuliangzhan_admin/vxe-table.git
synced 2026-01-21 05:27:57 +08:00
92 lines
2.6 KiB
TypeScript
92 lines
2.6 KiB
TypeScript
import { SetupContext, RenderFunction, ComponentPublicInstance } from 'vue'
|
|
import { VXEComponent, VxeComponentBase, VxeEvent, ValueOf } from './component'
|
|
import { VxeRadioPropTypes } from './radio'
|
|
|
|
/* eslint-disable no-use-before-define */
|
|
|
|
/**
|
|
* 组件 - 单选框按钮
|
|
* @example import { VxeRadioButton } from 'vxe-table'
|
|
*/
|
|
export const VxeRadioButton: VXEComponent<VxeRadioButtonProps, VxeRadioButtonEventProps, VxeRadioButtonSlots>
|
|
/**
|
|
* 组件 - 单选框按钮
|
|
*/
|
|
export const RadioButton: typeof VxeRadioButton
|
|
|
|
export type VxeRadioButtonInstance = ComponentPublicInstance<VxeRadioButtonProps, VxeRadioButtonConstructor>
|
|
|
|
export interface VxeRadioButtonConstructor extends VxeComponentBase, VxeRadioButtonMethods {
|
|
props: VxeRadioButtonProps
|
|
context: SetupContext<VxeRadioButtonEmits>
|
|
renderVN: RenderFunction
|
|
}
|
|
|
|
export interface RadioButtonMethods {
|
|
dispatchEvent(type: ValueOf<VxeRadioButtonEmits>, params: any, evnt: Event): void
|
|
}
|
|
export interface VxeRadioButtonMethods extends RadioButtonMethods { }
|
|
|
|
export interface RadioButtonPrivateMethods { }
|
|
export interface VxeRadioButtonPrivateMethods extends RadioButtonPrivateMethods { }
|
|
|
|
export type VxeRadioButtonEmits = [
|
|
'update:modelValue',
|
|
'change'
|
|
]
|
|
|
|
export type VxeRadioButtonProps = {
|
|
size?: VxeRadioButtonPropTypes.Size
|
|
modelValue?: VxeRadioButtonPropTypes.ModelValue
|
|
/**
|
|
* 严格模式,不允许取消
|
|
*/
|
|
strict?: VxeRadioButtonPropTypes.Strict
|
|
label?: VxeRadioButtonPropTypes.Label
|
|
title?: VxeRadioButtonPropTypes.Title
|
|
content?: VxeRadioButtonPropTypes.Content
|
|
disabled?: VxeRadioButtonPropTypes.Disabled
|
|
}
|
|
|
|
export namespace VxeRadioButtonPropTypes {
|
|
export type Size = VxeRadioPropTypes.Size
|
|
export type ModelValue = any
|
|
export type Strict = boolean
|
|
export type Label = VxeRadioPropTypes.Label
|
|
export type Title = string | number
|
|
export type Content = string | number
|
|
export type Disabled = boolean
|
|
}
|
|
|
|
export namespace VxeRadioButtonDefines {
|
|
interface RadioButtonEventParams extends VxeEvent {
|
|
$radioButton: VxeRadioButtonConstructor
|
|
}
|
|
|
|
export interface ChangeParams {
|
|
label: any
|
|
}
|
|
export interface ChangeEventParams extends RadioButtonEventParams, ChangeParams { }
|
|
}
|
|
|
|
export type VxeRadioButtonEventProps = {
|
|
onChange?: VxeRadioButtonEvents.Change
|
|
}
|
|
|
|
export interface VxeRadioButtonListeners {
|
|
change?: VxeRadioButtonEvents.Change
|
|
}
|
|
|
|
export namespace VxeRadioButtonEvents {
|
|
export type Change = (params: VxeRadioButtonDefines.ChangeEventParams) => void
|
|
}
|
|
|
|
export interface VxeRadioButtonSlots {
|
|
/**
|
|
* 自定义插槽模板
|
|
*/
|
|
[key: string]: ((params: {
|
|
[key: string]: any
|
|
}) => any) | undefined
|
|
}
|