Skip to content

PresetPicker 配置选择器

Demo

loading

Types

ts
export type PresetPickerValue = string | number | (string | number)[] | null
export interface PresetPickerExposeRefs<R extends RObject> {
  showModalFlag: Ref<boolean, boolean>
  checkedRowKeys: Ref<(string | number)[], (string | number)[]>
  checkedRows: Ref<R[], R[]>
  columns: DataTableColumns<any>
}
export interface PresetPickerExposeActions<R extends RObject> {
  showModal: () => void
  onUpdateCheckedRowKeys: (keys: (string | number)[], rows: (R | undefined)[], meta: {
    row: R | undefined
    action: 'check' | 'uncheck' | 'checkAll' | 'uncheckAll'
  }, currentData: R[]) => void
  onClickRow: (row: R) => void
  onNegativeClick: () => void
  onPositiveClick: () => void
  clearValue: () => void
}
export type PresetPickerProps<V extends PresetPickerValue, R extends RObject> = & {
  value?: V
  fallbackLabel?: string
  multiple?: boolean
  disabled?: boolean
  clearable?: boolean
  placeholder?: string
  type?: ButtonProps['type']
  columns?: DataTableColumns<R>
  selectionOptions?: TableSelectionColumn
  fields?: {
    rowKey?: string
  }
  buttonProps?: ButtonProps
  clearButtonProps?: ButtonProps
  badgeProps?: BadgeProps
  modalProps?: ModalProps
}
export type PresetPickerEmits<V extends PresetPickerValue, R extends RObject> = & {
  (e: 'update:value', val: V | null, raw: R | R[] | null): void
  (e: 'afterEnter'): void
  (e: 'afterLeave'): void
  (e: 'esc'): void
  (e: 'maskClick'): void
  (e: 'update:show', value: boolean): void
  (e: 'close'): void
  (e: 'negativeClick'): void
  (e: 'positiveClick'): void
}

Props

NameTypeDefaultDescription
valuePresetPickerValue-选择器的值
fallbackLabelstring-选择器的值为空时的提示
multipleboolean-是否多选
disabledboolean-是否禁用
clearableboolean-是否可清空
placeholderstring-输入框占位符
typeButtonProps['type']-按钮类型
columnsDataTableColumns-数据列
selectionOptionsTableSelectionColumn-选择列配置
fields'{rowKey?:string}'-数据列配置
buttonPropsButtonProps-按钮配置
clearButtonPropsButtonProps-清空按钮配置
badgePropsBadgeProps-徽章配置
modalPropsModalProps-弹窗配置

Emits

NameTypeDescription
update:value(val: PresetPickerValue) => void值更新时
afterEnter() => void弹窗进入动画结束时
afterLeave() => void弹窗离开动画结束时
esc() => void按下 esc 键时
maskClick() => void点击遮罩层时
update:show(val: boolean) => void弹窗显示状态更新时
close() => void弹窗关闭时
negativeClick() => void取消按钮点击时
positiveClick() => void确定按钮点击时