diff --git a/types/breadcrumb.d.ts b/types/breadcrumb.d.ts index 3329a172..ee545ddb 100644 --- a/types/breadcrumb.d.ts +++ b/types/breadcrumb.d.ts @@ -27,4 +27,9 @@ export declare interface BreadcrumbItem extends Vue { * @default _self */ target?: '_blank' | '_self' | '_parent' | '_top'; + /** + * 同 vue-router append + * @default false + */ + append?: boolean; } \ No newline at end of file diff --git a/types/button.d.ts b/types/button.d.ts index 7d453adc..37d820f5 100644 --- a/types/button.d.ts +++ b/types/button.d.ts @@ -66,6 +66,11 @@ export declare interface Button extends Vue { * @default _self */ target?: '_blank' | '_self' | '_parent' | '_top'; + /** + * 同 vue-router append + * @default false + */ + append?: boolean; } export declare interface ButtonGroup extends Vue { diff --git a/types/cell.d.ts b/types/cell.d.ts index 5272e312..b4579ef2 100644 --- a/types/cell.d.ts +++ b/types/cell.d.ts @@ -45,6 +45,11 @@ export declare interface Cell extends Vue { * @default _self */ target?: '_blank' | '_self' | '_parent' | '_top'; + /** + * 同 vue-router append + * @default false + */ + append?: boolean; /** * slot插槽对象 */ diff --git a/types/date-picker.d.ts b/types/date-picker.d.ts index e6a967c5..9302d7fd 100644 --- a/types/date-picker.d.ts +++ b/types/date-picker.d.ts @@ -131,6 +131,10 @@ export declare interface DatePicker extends Vue { * 在 confirm 模式或 clearable = true 时有效,在清空日期时触发 */ $emit(eventName: 'on-clear'): this; + /** + * 点击外部关闭下拉菜单时触发 + */ + $emit(eventName: 'on-clickoutside',event: MouseEvent): this; /** * slot插槽对象 */ diff --git a/types/dropdown.d.ts b/types/dropdown.d.ts index 932f4025..bce045a5 100644 --- a/types/dropdown.d.ts +++ b/types/dropdown.d.ts @@ -32,6 +32,11 @@ export declare interface Dropdown extends Vue { * 开启 transfer 时,给浮层添加额外的 class 名称 */ 'transfer-class-name'?: string; + /** + * 是否开启 stop-propagation + * @default false + */ + 'stop-propagation'?: boolean; /** * 点击菜单项时触发 * diff --git a/types/input.d.ts b/types/input.d.ts index 9db6ea65..4db95c3d 100644 --- a/types/input.d.ts +++ b/types/input.d.ts @@ -140,6 +140,10 @@ export declare interface Input extends Vue { * 开启 search 时可用,点击搜索或按下回车键时触发 */ $emit(eventName: 'on-search', value: string): this; + /** + * 开启 clearable 时可用,点击清空按钮时触发 + */ + $emit(eventName: 'on-clear'): this; /** * 手动聚焦输入框 */ diff --git a/types/iview.components.d.ts b/types/iview.components.d.ts index bc058bbc..85c29f59 100644 --- a/types/iview.components.d.ts +++ b/types/iview.components.d.ts @@ -63,18 +63,74 @@ export { Transfer } from './transfer'; export { Tree, TreeChild } from './tree'; export { Upload } from './upload'; +interface IViewGlobalOptions{ + size?: string; + transfer?: boolean | string; + select: { + arrow: string; + customArrow: string; + arrowSize: number | string; + }; + cell: { + arrow: string; + customArrow: string; + arrowSize: number | string; + }; + menu: { + arrow: string; + customArrow: string; + arrowSize: number | string; + }; + tree: { + arrow: string; + customArrow: string; + arrowSize: number | string; + }; + cascader: { + arrow: string; + customArrow: string; + arrowSize: number | string; + itemArrow: string; + customItemArrow: string; + itemArrowSize: number | string; + }; + colorPicker: { + arrow: string; + customArrow: string; + arrowSize: number | string; + }; + datePicker: { + icon: string; + customIcon: string; + iconSize: number | string; + }; + timePicker: { + icon: string; + customIcon: string; + iconSize: number | string; + }; + tabs: { + closeIcon: string; + customCloseIcon: string; + closeIconSize: number | string; + }; + modal: { + maskClosable: boolean | string; + }; +} + +interface IViewInstallOptions extends IViewGlobalOptions{ + locale?: any; + i18n?: any; +} + declare const API: { version: string; - locale: (l:any) => void; - i18n: (fn:any) => void; + locale: (l: any) => void; + i18n: (fn: any) => void; install: ( Vue: Vue, - opts: { - locale?: any; - i18n?: any; - size?: any; - transfer?: any; - } + opts: IViewInstallOptions ) => void; lang: (code: string) => void; }; @@ -83,9 +139,6 @@ export default API; declare module 'vue/types/vue' { interface Vue { - $IVIEW: { - size?: string; - transfer?: string; - }; + $IVIEW: IViewGlobalOptions; } } diff --git a/types/loading-bar.d.ts b/types/loading-bar.d.ts index 8ddb8fab..68f307ef 100644 --- a/types/loading-bar.d.ts +++ b/types/loading-bar.d.ts @@ -41,11 +41,6 @@ export declare interface LoadingBarConfig { * @default primary */ color?: string; - /** - * 自动消失的延时, 默认为800ms - * @default 800 - */ - duration?: number; /** * 失败时的进度条颜色,默认为 iView 主色 * @default error @@ -56,6 +51,11 @@ export declare interface LoadingBarConfig { * @default 2 */ height?: number; + /** + * 自动消失的延时, 默认为800ms + * @default 800 + */ + duration?: number; } declare module 'vue/types/vue' { diff --git a/types/menu.d.ts b/types/menu.d.ts index 0aad8eff..db9c20e5 100644 --- a/types/menu.d.ts +++ b/types/menu.d.ts @@ -71,6 +71,11 @@ export declare interface MenuItem extends Vue { * @default _self */ target?: '_blank' | '_self' | '_parent' | '_top'; + /** + * 同 vue-router append + * @default false + */ + append?: boolean; } export declare interface MenuSub extends Vue { diff --git a/types/poptip.d.ts b/types/poptip.d.ts index 8e330844..6578247f 100644 --- a/types/poptip.d.ts +++ b/types/poptip.d.ts @@ -37,6 +37,11 @@ export declare interface Poptip extends Vue { * @default false */ confirm?: boolean; + /** + * 是否禁用 + * @default false + */ + disabled?: boolean; /** * 确定按钮的文字,只在 confirm 模式下有效 * @default 确定 diff --git a/types/select.d.ts b/types/select.d.ts index 172f7253..1b0a06fb 100644 --- a/types/select.d.ts +++ b/types/select.d.ts @@ -92,6 +92,18 @@ export declare interface Select extends Vue { * 开启 transfer 时,给浮层添加额外的 class 名称 */ 'transfer-class-name'?: string; + /** + * 在 Select 内显示图标 + */ + prefix?: string; + /** + * 多选时最多显示多少个 tag + */ + 'max-tag-count'?: number; + /** + * 隐藏 tag 时显示的内容,参数是剩余项数量 + */ + 'max-tag-placeholder'?: () => any; /** * 选中的Option变化时触发,默认返回 value,如需返回 label,详见 label-in-value 属性 当前选中项 */ @@ -116,6 +128,15 @@ export declare interface Select extends Vue { * 清空单选项,仅在 clearable="true" 时有效 */ clearSingleSelect(): void; + /** + * slot插槽对象 + */ + $slots: { + /** + * 自定义 Select 内头部图标 + */ + prefix: VNode[]; + }; } export declare interface Option extends Vue { diff --git a/types/slider.d.ts b/types/slider.d.ts index bc74bdb6..b0de7a74 100644 --- a/types/slider.d.ts +++ b/types/slider.d.ts @@ -59,6 +59,11 @@ export declare interface Slider extends Vue { * 数字输入框的尺寸,可选值为large、small、default或者不填,仅在开启 show-input 时有效 */ 'input-size'?: '' | 'large' | 'small' | 'default'; + /** + * 同 InputNumber 的 active-change + * @default true + */ + 'active-change'?: boolean; /** * 在松开滑动时触发,返回当前的选值,在滑动过程中不会触发 */ diff --git a/types/table.d.ts b/types/table.d.ts index 4b0fe008..90470014 100644 --- a/types/table.d.ts +++ b/types/table.d.ts @@ -40,6 +40,10 @@ export declare interface Table extends Vue { * 表格高度,单位 px,设置后,如果表格内容大于此值,会固定表头 */ height?: number | string; + /** + * 表格最大高度,单位 px,设置后,如果表格内容大于此值,会固定表头 + */ + 'max-height'?: number | string; /** * 表格是否加载中 * @default false @@ -85,6 +89,11 @@ export declare interface Table extends Vue { * @default dark */ "tooltip-theme"?: string; + /** + * 是否强制使用内置的 row-key,开启后可能会影响性能 + * @default false + */ + "row-key"?: boolean; /** * 开启 highlight-row 后有效,当表格的当前行发生变化的时候会触发 * currentRow:当前高亮行的数据