123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- import { Component, CSSProperties } from 'vue'
- import type { FormItemRule } from 'element-plus'
- declare global {
- /**
- * input可用attr,用于代码提示,渲染不同输入组件时,需要的attr是不一样的
- * https://element-plus.org/zh-CN/component/input.html#input-属性
- */
- interface InputAttr {
- id?: string
- name?: string
- type?: string
- placeholder?: string
- maxlength?: string | number
- minlength?: string | number
- 'show-word-limit'?: boolean
- clearable?: boolean
- 'show-password'?: boolean
- disabled?: boolean
- size?: 'large' | 'default' | 'small'
- 'prefix-icon'?: string | Component
- 'suffix-icon'?: string | Component
- rows?: number
- border?: boolean
- autosize?: boolean | anyObj
- autocomplete?: string
- readonly?: boolean
- max?: string | number
- min?: string | number
- step?: string | number
- resize?: 'none' | 'both' | 'horizontal' | 'vertical'
- autofocus?: boolean
- form?: string
- label?: string
- tabindex?: string | number
- 'validate-event'?: boolean
- 'input-style'?: anyObj
- // DateTimePicker属性
- editable?: boolean
- 'start-placeholder'?: string
- 'end-placeholder'?: string
- 'time-arrow-control'?: boolean
- format?: string
- 'popper-class'?: string
- 'range-separator'?: string
- 'default-value'?: Date
- 'default-time'?: Date | Date[]
- 'value-format'?: string
- 'unlink-panels'?: boolean
- 'clear-icon'?: string | Component
- shortcuts?: { text: string; value: Date | Function }[]
- disabledDate?: Function
- cellClassName?: Function
- teleported?: boolean
- // select属性
- multiple?: boolean
- 'value-key'?: string
- 'collapse-tags'?: string
- 'collapse-tags-tooltip'?: boolean
- 'multiple-limit'?: number
- effect?: 'dark' | 'light'
- filterable?: boolean
- 'allow-create'?: boolean
- 'filter-method'?: Function
- remote?: false // 禁止使用远程搜索,如需使用请使用单独封装好的 remoteSelect 组件
- 'remote-method'?: false
- 'no-match-text'?: string
- 'no-data-text'?: string
- 'reserve-keyword'?: boolean
- 'default-first-option'?: boolean
- 'popper-append-to-body'?: boolean
- persistent?: boolean
- 'automatic-dropdown'?: boolean
- 'fit-input-width'?: boolean
- 'tag-type'?: 'success' | 'info' | 'warning' | 'danger'
- params?: anyObj
- // 远程select属性
- pk?: string
- field?: string
- 'remote-url'?: string
- showRefresh?:boolean
- // 图标选择器属性
- 'show-icon-name'?: boolean
- placement?: string
- title?: string
- // 图片文件上传属性
- action?: string
- headers?: anyObj
- method?: string
- data?: anyObj
- 'with-credentials'?: boolean
- 'show-file-list'?: boolean
- drag?: boolean
- accept?: boolean
- 'list-type'?: string
- 'auto-upload'?: boolean
- limit?: number
- // editor属性
- height?: string
- mode?: string
- editorStyle?: CSSProperties
- style?: CSSProperties
- toolbarConfig?: anyObj
- editorConfig?: anyObj
- // 返回数据类型
- 'data-type'?: string
- // 事件
- onPreview?: Function
- onRemove?: Function
- onSuccess?: Function
- onError?: Function
- onProgress?: Function
- onExceed?: Function
- onBeforeUpload?: Function
- onBeforeRemove?: Function
- onChange?: Function
- onInput?: Function
- onVisibleChange?: Function
- onRemoveTag?: Function
- onClear?: Function
- onBlur?: Function
- onFocus?: Function
- onCalendarChange?: Function
- onPanelChange?: Function
- }
- interface FormItemAttr {
- id?: string
- class?: string
- prop?: string | string[]
- 'label-width'?: string | number
- required?: boolean
- rules?: FormItemRule | FormItemRule[]
- error?: string
- 'show-message'?: boolean
- 'inline-message'?: boolean
- size?: 'large' | 'default' | 'small'
- style?: CSSProperties
- 'block-help'?: string
- }
- }
|