first commit

This commit is contained in:
编码猿
2024-09-27 00:57:27 +08:00
commit 18df0f5e4b
2548 changed files with 253280 additions and 0 deletions

1
iview/types/.pydio Normal file
View File

@@ -0,0 +1 @@
73b63a56-3452-4678-9434-91caf9e41465

22
iview/types/affix.d.ts vendored Normal file
View File

@@ -0,0 +1,22 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Affix extends Vue {
/**
* 距离窗口顶部达到指定偏移量后触发
* @default 0
*/
'offset-top'?: number;
/**
* 距离窗口底部达到指定偏移量后触发
*/
'offset-bottom'?: number;
/**
* 在固定状态发生改变时触发
* @param value true | false
*/
$emit(eventName: 'on-change', value: boolean): this;
}

48
iview/types/alert.d.ts vendored Normal file
View File

@@ -0,0 +1,48 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Alert extends Vue {
/**
* 警告提示样式可选值为info、success、warning、error
* @default info
*/
type?: 'info' | 'success' | 'warning' | 'error';
/**
* 是否可关闭
* @default false
*/
closable?: boolean;
/**
* 是否显示图标
* @default false
*/
'show-icon'?: boolean;
/**
* 关闭时触发
*/
$emit(eventName: 'on-close', event: HTMLElement): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 警告提示内容
*/
'': VNode[];
/**
* 警告提示辅助性文字介绍
*/
desc: VNode[];
/**
* 自定义图标内容
*/
icon: VNode[];
/**
* 自定义关闭内容
*/
close: VNode[];
};
}

67
iview/types/anchor.d.ts vendored Normal file
View File

@@ -0,0 +1,67 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Anchor extends Vue {
/**
* 固定模式
* @default true
*/
affix?: boolean;
/**
* 距离窗口顶部达到指定偏移量后触发
* @default 0
*/
'offset-top'?: number;
/**
* 距离窗口底部达到指定偏移量后触发
*/
'offset-bottom'?: number;
/**
* 锚点区域边界单位px
* @default 5
*/
bounds?: number;
/**
* 点击滚动的额外距离
* @default 0
*/
'scroll-offset'?: number;
/**
* 指定滚动的容器
*/
container?: string | HTMLElement;
/**
* 是否显示小圆点
* @default false
*/
'show-ink'?: boolean;
/**
* 点击锚点时触发,返回链接
*/
$emit(eventName: 'on-select', href: string): this;
/**
* 链接改变时触发,返回新链接和旧链接
*/
$emit(eventName: 'on-change', []): this;
}
export declare class AnchorLink extends Vue {
/**
* 锚点链接
* @default
*/
href?: string;
/**
* 文字内容
* @default
*/
title?: string;
/**
* 点击滚动的额外距离
* @default 0
*/
'scroll-offset'?: number;
}

79
iview/types/auto-complete.d.ts vendored Normal file
View File

@@ -0,0 +1,79 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class AutoComplete extends Vue {
/**
* 绑定的值,可使用 v-model 双向绑定
*/
value?: string | number;
/**
* 自动完成的数据源
* @default []
*/
data?: string[] | number[];
/**
* 是否可以清空选项
* @default false
*/
clearable?: boolean;
/**
* 是否禁用
* @default false
*/
disabled?: boolean;
/**
* 占位文本
*/
placeholder?: string;
/**
* 输入框尺寸,可选值为 large、small、default 或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 输入框尾部图标
*/
icon?: string;
/**
* 是否根据输入项进行筛选。当其为一个函数时,会接收 value 和 option 两个参数,
* 当 option 符合筛选条件时,应返回 true反之则返回 false,
* @default false
*/
'filter-method'?: boolean | (() => boolean);
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,
* 建议添加此属性,它将不受父级样式影响,从而达到更好的效果,
* @default false
*/
transfer?: boolean;
/**
* 给表单元素设置 id详见 Form 用法。
*/
'element-id'?: string;
/**
* 选中 option或 input 的 value 变化时,调用此函数
*/
$emit(eventName: 'on-change', value: string | number): this;
/**
* 被选中时调用,参数为选中项的 value 值
*/
$emit(eventName: 'on-select', value: string | number): this;
/**
* 搜索补全项的时候调用
*/
$emit(eventName: 'on-search', query: string): this;
/**
* 搜索补全项的时候调用
*/
$emit(eventName: 'on-focus', event: KeyboardEvent): this;
/**
* 搜索补全项的时候调用
*/
$emit(eventName: 'on-blur', event: KeyboardEvent): this;
/**
* 清空时触发
*/
$emit(eventName: 'on-clear'): this;
}

34
iview/types/avatar.d.ts vendored Normal file
View File

@@ -0,0 +1,34 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Avatar extends Vue {
/**
* 指定头像的形状,可选值为 circle、square
* @default circle
*/
shape?: 'circle' | 'square';
/**
* 设置头像的大小,可选值为 large、small、default
* @default default
*/
size?: 'large'|'small'|'default';
/**
* 图片类头像的资源地址
*/
src?: string;
/**
* 设置头像的图标类型,参考 Icon 组件
*/
icon?: string;
/**
* 自定义图标
*/
'custom-icon'?: string;
/**
* 在设置 src 且图片加载不成功时触发
*/
$emit(eventName: 'on-error', event: Event): this;
}

32
iview/types/back-top.d.ts vendored Normal file
View File

@@ -0,0 +1,32 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class BackTop extends Vue {
/**
* 页面滚动高度达到该值时才显示BackTop组件
* @default 400
*/
height?: number;
/**
* 组件距离底部的距离
* @default 30
*/
bottom?: number;
/**
* 组件距离右部的距离
* @default 30
*/
right?: number;
/**
* 滚动动画持续时间,单位 毫秒
* @default 1000
*/
duration?: number;
/**
* 点击按钮时触发
*/
$emit(eventName: 'on-click'): this;
}

47
iview/types/badge.d.ts vendored Normal file
View File

@@ -0,0 +1,47 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Badge extends Vue {
/**
* 显示的数字大于overflowCount时显示${overflowCount}+,为 0 时隐藏
*/
count?: number | string;
/**
* 展示封顶的数字值
* @default 99
*/
'overflow-count'?: number | string;
/**
* 不展示数字,只有一个小红点,如需隐藏 dot 需要设置count为 0
* @default false
*/
dot?: boolean
/**
* 自定义的class名称dot 模式下无效
*/
'class-name'?: string;
/**
* 使用预设的颜色,可选值为 success、primary、normal、error、warning、info
*/
type?: 'success' | 'primary' | 'normal' | 'error' | 'warning' | 'info';
/**
* 当数值为 0 时,是否展示 Badge
* @default false
*/
'show-zero'?: boolean;
/**
* 设置 Badge 为状态点,可选值为 success、processing、default、error、warning
*/
status?: 'success' | 'processing' | 'default' | 'error' | 'warning';
/**
* 自定义内容,如果设置了 status则为状态点的文本
*/
text?: string;
/**
* 设置状态点的位置偏移,格式为 [x, y]
*/
offset?: number[];
}

35
iview/types/breadcrumb.d.ts vendored Normal file
View File

@@ -0,0 +1,35 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Breadcrumb extends Vue {
/**
* 自定义分隔符
* @default /
*/
separator?: string;
}
export declare class BreadcrumbItem extends Vue {
/**
* 链接,不传则没有链接
*/
to?: string | object;
/**
* 路由跳转时,开启 replace 将不会向 history 添加新记录
* @default false
*/
replace?: boolean;
/**
* 相当于 a 链接的 target 属性
* @default _self
*/
target?: '_blank' | '_self' | '_parent' | '_top';
/**
* 同 vue-router append
* @default false
*/
append?: boolean;
}

91
iview/types/button.d.ts vendored Normal file
View File

@@ -0,0 +1,91 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Button extends Vue {
/**
* 按钮类型,可选值为 default、primary、dashed、text、info、success、warning、error或者不设置
* @default default
*/
type?: '' | 'default' | 'primary' | 'dashed' | 'text' | 'info' | 'success' | 'warning' | 'error';
/**
* 幽灵属性,使按钮背景透明
* @default false
*/
ghost?: boolean;
/**
* 按钮大小可选值为large、small、default或者不设置
* @default default
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 按钮形状可选值为circle或者不设置
*/
shape?: '' | 'circle';
/**
* 开启后,按钮的长度为 100%
* @default false
*/
long?: boolean;
/**
* 设置button原生的type可选值为button、submit、reset
* @default button
*/
'html-type'?: 'button' | 'submit' | 'reset';
/**
* 设置按钮为禁用状态
* @default false
*/
disabled?: boolean;
/**
* 设置按钮为加载中状态
* @default false
*/
loading?: boolean;
/**
* 设置按钮的图标类型
*/
icon?: string;
/**
* 设置按钮的自定义图标
*/
'custom-icon'?: string;
/**
* 跳转的链接,支持 vue-router 对象
*/
to?: string | object;
/**
* 路由跳转时,开启 replace 将不会向 history 添加新记录
* @default false
*/
replace?: boolean;
/**
* 相当于 a 链接的 target 属性
* @default _self
*/
target?: '_blank' | '_self' | '_parent' | '_top';
/**
* 同 vue-router append
* @default false
*/
append?: boolean;
}
export declare class ButtonGroup extends Vue {
/**
* 按钮组合大小可选值为large、small、default或者不设置
* @default default
*/
size?: 'large' | 'small' | 'default';
/**
* 按钮组合形状可选值为circle或者不设置
*/
shape?: '' | 'circle';
/**
* 是否纵向排列按钮组
* @default false
*/
vertical?: boolean;
}

53
iview/types/card.d.ts vendored Normal file
View File

@@ -0,0 +1,53 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Card extends Vue {
/**
* 是否显示边框,建议在灰色背景下使用
* @default true
*/
'bordered'?: boolean;
/**
* 禁用鼠标悬停显示阴影
* @default false
*/
'dis-hover'?: boolean;
/**
* 卡片阴影,建议在灰色背景下使用
* @default false
*/
'shadow'?: boolean;
/**
* 卡片内部间距,单位 px
* @default 16
*/
'padding'?: number;
/**
* 标题2.12.0 新增
*/
title?: string;
/**
* 标题前的图标2.12.0 新增
*/
icon?: string;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义卡片标题,如果是简单文字,可以使用<p>标签包裹
*/
title: VNode[];
/**
* 额外显示的内容,默认位置在右上角
*/
extra: VNode[];
/**
* 卡片主体内容
*/
'': VNode[];
};
}

65
iview/types/carousel.d.ts vendored Normal file
View File

@@ -0,0 +1,65 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Carousel extends Vue {
/**
* 幻灯片的索引,从 0 开始,可以使用 v-model 双向绑定数据
* @default 0
*/
value?: number;
/**
* 走马灯的高度,可填 auto 或具体高度数值,单位 px
* @default auto
*/
height?: string | number;
/**
* 是否开启循环
* @default false
*/
loop?: boolean;
/**
* 是否自动切换
*/
autoplay?: boolean;
/**
* 自动切换的时间间隔,单位为毫秒
* @default 2000
*/
'autoplay-speed'?: number;
/**
* 指示器的位置,可选值为 inside 内部outside外部none不显示
* @default inside
*/
dots?: 'inside' | 'outside' | 'none';
/**
* 是否显示圆形指示器
* @default false
*/
'radius-dot'?: boolean;
/**
* 指示器的触发方式,可选值为 click点击hover悬停
* @default click
*/
trigger?: 'click' | 'hover';
/**
* 切换箭头的显示时机,可选值为 hover悬停always一直显示never不显示
* @default hover
*/
arrow?: 'hover' | 'always' | 'never';
/**
* 动画效果
* @default ease
*/
easing?: string;
/**
* 幻灯片切换时触发,目前激活的幻灯片的索引,原幻灯片的索引
*/
$emit(eventName: 'on-change', oldValue: number, value: number): this;
}
export declare class CarouselItem extends Vue {
}

84
iview/types/cascader.d.ts vendored Normal file
View File

@@ -0,0 +1,84 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Cascader extends Vue {
/**
* 可选项的数据源,格式参照示例说明
* @default []
*/
data?: object[];
/**
* 当前已选项的数据,格式参照示例说明
* @default []
*/
value?: object[];
/**
* 选择后展示的函数,用于自定义显示格式
* @default label => label.join(' / ')
*/
'render-format'?: (label?: string[]) => string
/**
* 是否禁用选择器
* @default false
*/
disabled?: boolean;
/**
* 是否支持清除
* @default true
*/
clearable?: boolean;
/**
* 输入框占位符
* @default 请选择
*/
placeholder?: string;
/**
* 次级菜单展开方式,可选值为 click 或 hover
* @default click
*/
trigger?: 'click' | 'hover';
/**
* 当此项为 true 时,点选每级菜单选项值都会发生变化,具体见上面的示例
* @default false
*/
'change-on-select'?: boolean;
/**
* 输入框大小可选值为large和small或者不填
*/
size?: '' | 'large' | 'small';
/**
* 动态获取数据,数据源需标识 loading
*/
'load-data'?: () => void;
/**
* 是否支持搜索
* @default false
*/
filterable?: boolean;
/**
* 当搜索列表为空时显示的内容
* @default 无匹配数据
*/
'not-found-text'?: string;
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,
* 建议添加此属性,它将不受父级样式影响,从而达到更好的效果
* @default false
*/
transfer?: boolean;
/**
* 给表单元素设置 id详见 Form 用法。
*/
'element-id'?: string;
/**
* 选择完成后的回调,返回值 value 即已选值 valueselectedData 为已选项的具体数据
*/
$emit(eventName: 'on-change', value: object, selectedData: object[]): this;
/**
* 展开和关闭弹窗时触发
*/
$emit(eventName: 'on-visible-change', status: boolean): this;
}

86
iview/types/cell.d.ts vendored Normal file
View File

@@ -0,0 +1,86 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Cell extends Vue {
/**
* 用来标识这一项
*/
name?: string | number;
/**
* 左侧标题
*/
title?: string;
/**
* 标题下方的描述信息
*/
label?: string;
/**
* 右侧额外内容
*/
extra?: string;
/**
* 禁用该项
* @default false
*/
disabled?: boolean;
/**
* 标记该项为选中状态
* @default false
*/
selected?: boolean;
/**
* 跳转的链接,支持 vue-router 对象
*/
to?: string | object;
/**
* 路由跳转时,开启 replace 将不会向 history 添加新记录
* @default false
*/
replace?: boolean;
/**
* 相当于 a 链接的 target 属性
* @default _self
*/
target?: '_blank' | '_self' | '_parent' | '_top';
/**
* 同 vue-router append
* @default false
*/
append?: boolean;
/**
* slot插槽对象
*/
$slots: {
/**
* 相当于 title
*/
'': VNode[];
/**
* 标题前的 Icon
*/
icon: VNode[];
/**
* 相当于 label
*/
label: VNode[];
/**
* 相当于 extra
*/
extra: VNode[];
/**
* 有链接时,可自定义右侧箭头
*/
arrow: VNode[];
}
}
export declare class CellGroup extends Vue {
/**
* 点击单元格时触发
*
*/
$emit(eventName: 'on-click', name: string): this;
}

61
iview/types/checkbox.d.ts vendored Normal file
View File

@@ -0,0 +1,61 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Checkbox extends Vue {
/**
* 只在单独使用时有效。可以使用 v-model 双向绑定数据
* @default false
*/
value?: boolean;
/**
* 只在组合使用时有效。指定当前选项的 value 值,组合会自动判断是否选中
*/
label?: string | number | boolean;
/**
* 是否禁用当前项
* @default false
*/
disabled?: boolean;
/**
* 设置 indeterminate 状态,只负责样式控制
* @default false
*/
indeterminate?: boolean;
/**
* 多选框的尺寸,可选值为 large、small、default 或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用
* @default true
*/
'true-value'?: string | number | boolean;
/**
* 没有选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用
* @default false
*/
'false-value'?: string | number | boolean;
/**
* 只在单独使用时有效。在选项状态发生改变时触发,通过修改外部的数据改变时不会触发
*/
$emit(eventName: 'on-change', value: boolean): this;
}
export declare class CheckboxGroup extends Vue {
/**
* 指定选中项目的集合,可以使用 v-model 双向绑定数据
* @default []
*/
value?: string[] | number[] | boolean[];
/**
* 多选框组的尺寸,可选值为 large、small、default 或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 在选项状态发生改变时触发,返回已选中的数组。通过修改外部的数据改变时不会触发
*/
$emit(eventName: 'on-change', values: Array<string | number | boolean>): this;
}

57
iview/types/circle.d.ts vendored Normal file
View File

@@ -0,0 +1,57 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Circle extends Vue {
/**
* 百分比
* @default 0
*/
percent?: number;
/**
* 图表的宽度和高度,单位 px
* @default 120
*/
size?: number;
/**
* 进度环顶端的形状可选值为square和round
* @default round
*/
'stroke-linecap'?: 'square' | 'round';
/**
* 进度环的线宽,单位 px
* @default 6
*/
'stroke-width'?: number;
/**
* 进度环的颜色
* @default #2db7f5
*/
'stroke-color'?: string
/**
* 进度环背景的线宽,单位 px
* @default 5
*/
'trail-width'?: number;
/**
* 进度环背景的颜色
* @default #eaeef2
*/
'trail-color'?: string;
/**
* 是否显示为仪表盘
* @default false
*/
dashboard?: boolean;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义显示中间内容,内容默认垂直居中
*/
'': VNode[];
};
}

53
iview/types/collapse.d.ts vendored Normal file
View File

@@ -0,0 +1,53 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Collapse extends Vue {
/**
* 当前激活的面板的 name可以使用 v-model 双向绑定
*/
value?: string[] | string;
/**
* 是否开启手风琴模式,开启后每次至多展开一个面板
* @default false
*/
accordion?: boolean;
/**
* 是否开启简洁模式
* @default false
*/
simple?: boolean;
/**
* 切换面板时触发,返回当前已展开的面板的 key格式为数组
* @default []
*/
$emit(eventName: 'on-change', []): this;
}
export declare class CollapsePanel extends Vue {
/**
* 当前面板的 name与 Collapse的value对应不填为索引值
* @default index的值
*/
name?: string;
/**
* 隐藏箭头
* @default false
*/
'hide-arrow'?: boolean;
/**
* slot插槽对象
*/
$slots: {
/**
* 面板头内容
*/
'': VNode[];
/**
* 描素内容
*/
content: VNode[];
};
}

64
iview/types/color-picker.d.ts vendored Normal file
View File

@@ -0,0 +1,64 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class ColorPicker extends Vue {
/**
* 绑定的值,可使用 v-model 双向绑定
*/
value?: string;
/**
* 是否禁用
* @default false
*/
disabled?: boolean;
/**
* 是否可以输入色值
* @default false
*/
editable?: boolean;
/**
* 是否支持透明度选择
* @default false
*/
alpha?: boolean;
/**
* 是否支持色彩选择
* @default true
*/
hue?: boolean;
/**
* 是否支持透明度选择
* @default false
*/
recommend?: boolean;
/**
* 自定义颜色预设
*/
colors?: string[];
/**
* 颜色的格式,可选值为 hsl、hsv、hex、rgb
* @default 开启 alpha 时为 rgb其它为 hex
*/
format?: 'hsl' | 'hsv' | 'hex' | 'rgb';
/**
* 尺寸可选值为large、small、default或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 当绑定值变化时触发
* @default 当前值
*/
$emit(eventName: 'on-change', value: string): this;
/**
* 面板中当前显示的颜色发生改变时触发
* @default 当前显示的颜色值
*/
$emit(eventName: 'on-active-change', value: string): this;
/**
* 下拉框展开或收起时触发
*/
$emit(eventName: 'on-open-change', value: boolean): this;
}

8
iview/types/content.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Content extends Vue {
}

161
iview/types/date-picker.d.ts vendored Normal file
View File

@@ -0,0 +1,161 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class DatePicker extends Vue {
/**
* 显示类型,可选值为 date、daterange、datetime、datetimerange、year、month'|'默认值date
*/
type?: 'date' | 'daterange' | 'datetime' | 'datetimerange' | 'year' | 'month';
/**
* 日期,可以是 JavaScript 的 Date例如 new Date(),也可以是标准的日期格式,点击右边查看
* 注意value 使用 v-model 时,值是 Date 类型,可以配合 @on-change 使用
*/
value?: Date;
/**
* 展示的日期格式
* date | daterange?: yyyy-MM-dd
* datetime | datetimerangeyyyy-MM-dd HH:mm:ss
* yearyyyy
* monthyyyy-MM
*/
format?: string;
/**
* 日期选择器出现的位置,
* 可选值为top,top-start,top-end,
* bottom,bottom-start,bottom-end,
* left,left-start,left-end,
* right,right-start,right-end
* 2.12.0 版本开始支持自动识别
* @default bottom-start
*/
placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end'
/**
* 占位文本默认值空
* @default 空
*/
placeholder?: string;
/**
* 选择器额外配置,比如不可选日期与快捷选项,具体项详见下表
*/
options?: DatePickerOptions;
/**
* 开启后,左右面板不联动,仅在 daterange 和 datetimerange 下可用。
* @default false
*/
'split-panels'?: boolean;
/**
* 开启后,可以选择多个日期,仅在 date 下可用。
* @default false
*/
multiple?: boolean;
/**
* 开启后,可以显示星期数。
* @default false
*/
'show-week-numbers': boolean;
/**
* 设置默认显示的起始日期。
*/
'start-date'?: Date;
/**
* 是否显示底部控制栏,开启后,选择完日期,选择器不会主动关闭,需用户确认后才可关闭,
* @default false
*/
confirm?: boolean;
/**
* 手动控制日期选择器的显示状态true 为显示false 为收起。使用该属性后,选择器不会主动关闭。
* 建议配合 slot 及 confirm 和相关事件一起使用
* @default null
*/
open?: boolean;
/**
* 尺寸可选值为large、small、default或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 是否禁用选择器
* @default false
*/
disabled?: boolean;
/**
* 是否显示清除按钮
* @default true
*/
clearable?: boolean;
/**
* 完全只读,开启后不会弹出选择器,只在没有设置 open 属性下生效
* @default false
*/
readonly?: boolean;
/**
* 文本框是否可以输入,只在没有使用 slot 时有效
* @default true
*/
editable?: boolean;
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,
* 建议添加此属性,它将不受父级样式影响,从而达到更好的效果,
* @default false
*/
transfer?: boolean;
/**
* 给表单元素设置 id详见 Form 用法。
*/
'element-id'?: string;
/**
* 可以在 type 为 datetime 和 datetimerange 下,配置 TimePicker 的属性,
* 比如时间间隔 steps:time-picker-options="{steps: [1, 10, 10]}"
* @default {}
*/
'time-picker-options'?: object;
/**
* 两个日期间的分隔符
*/
'separator'?: string;
/**
* 日期发生变化时触发 已经格式化后的日期,比如 2016-01-01
*/
$emit(eventName: 'on-change', value: string): this;
/**
* 弹出日历和关闭日历时触发
*/
$emit(eventName: 'on-open-change', value: boolean): this;
/**
* 在 confirm 模式下有效,点击确定按钮时触发
*/
$emit(eventName: 'on-ok'): this;
/**
* 在 confirm 模式或 clearable = true 时有效,在清空日期时触发
*/
$emit(eventName: 'on-clear'): this;
/**
* 点击外部关闭下拉菜单时触发
*/
$emit(eventName: 'on-clickoutside',event: MouseEvent): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义选择器的显示内容,建议与 open 等参数一起使用,详见示例
*/
'': VNode[];
};
}
export declare class DatePickerOptions {
/**
* 设置快捷选项,每项内容:
* text显示的文案
* value?: 返回指定的日期,如需自己控制逻辑,可不设置,并使用 onClick 回调
* onClick?: 点击时的回调,参数为当前日期选择器的 Vue 实例,当需要自定义复杂操作时,可以使用
*/
shortcuts?: { text?: string, value?: () => void, onClick?: () => void }[];
/**
* 设置不可选择的日期,参数为当前的日期,需要返回 Boolean 是否禁用这天
*/
disabledDate(): boolean;
}

28
iview/types/divider.d.ts vendored Normal file
View File

@@ -0,0 +1,28 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Divider extends Vue {
/**
* 水平还是垂直类型,可选值为 horizontal 或 vertical
* @default horizontal
*/
type?: 'horizontal' | 'vertical';
/**
* 分割线标题的位置,可选值为 left、right 或 center
* @default center
*/
orientation?: 'left' | 'right' | 'center';
/**
* 是否虚线
* @default false
*/
dashed?: boolean;
/**
* 尺寸,可选值为 small 或 default
* @default default
*/
size?: string;
}

112
iview/types/drawer.d.ts vendored Normal file
View File

@@ -0,0 +1,112 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Drawer extends Vue {
/**
* 抽屉是否显示,可使用 v-model 双向绑定数据
* @default false
*/
value?: boolean;
/**
* 抽屉标题,如果使用 slot 自定义了页头,则 title 无效
* @default center
*/
title?: string;
/**
* 抽屉宽度。当其值不大于 100 时以百分比显示,大于 100 时为像素
* @default 256
*/
width?: number | string;
/**
* 是否显示右上角的关闭按钮
* @default true
*/
closable?: boolean;
/**
* 是否允许点击遮罩层关闭
* @default true
*/
'mask-closable'?: boolean;
/**
* 是否显示遮罩层
* @default true
*/
mask?: boolean;
/**
* 遮罩层样式
*/
'mask-style'?: object;
/**
* 抽屉中间层的样式
*/
styles?: object;
/**
* 页面是否可以滚动
* @default false
*/
scrollable?: boolean;
/**
* 抽屉的方向,可选值为 left 或 right
* @default right
*/
placement?: 'left' | 'right';
/**
* 抽屉中间层的样式
* @default true
*/
transfer?: boolean;
/**
* 抽屉中间层的样式
*/
'class-name'?: string;
/**
* 是否设置抽屉在某个元素内打开,开启此属性时,应当关闭 transfer 属性
* @default false
*/
'inner'?: boolean;
/**
* 是否开启拖拽调整宽度
* @default false
*/
'draggable'?: boolean;
/**
* 返回 Promise 可以阻止关闭
*/
'before-close'?: () => void | Promise<any>;
/**
* 关闭抽屉时触发
*/
$emit(eventName: 'on-close'): this;
/**
* 显示状态发生变化时触发
*/
$emit(eventName: 'on-visible-change', value: boolean): this;
/**
* 调整宽度时触发,返回宽度
*/
$emit(eventName: 'on-resize-width'): number;
/**
* slot插槽对象
*/
$slots: {
/**
* 抽屉主体内容
*/
'': VNode[];
/**
* 抽屉主体内容
*/
header: VNode[];
/**
* 抽屉主体内容
*/
close: VNode[];
/**
* 自定义调整宽度节点
*/
trigger: VNode[];
};
}

91
iview/types/dropdown.d.ts vendored Normal file
View File

@@ -0,0 +1,91 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Dropdown extends Vue {
/**
* 触发方式,可选值为 hover悬停click点击contextMenu右键custom自定义使用 custom 时,需配合 visible 一起使用
* @default hover
*/
trigger?: 'hover'|'click'|'custom'|'contextMenu';
/**
* 手动控制下拉框的显示,在 trigger = 'custom' 时使用
* @default false
*/
visible?: boolean;
/**
* 下拉菜单出现的位置,可选值为
* toptop-starttop-endbottombottom-startbottom-end
* leftleft-startleft-endrightright-startright-end
* 2.12.0 版本开始支持自动识别
* @default bottom
*/
placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性,它将不受父级样式影响,从而达到更好的效果
* @default false
*/
transfer?: boolean;
/**
* 开启 transfer 时,给浮层添加额外的 class 名称
*/
'transfer-class-name'?: string;
/**
* 是否开启 stop-propagation
* @default false
*/
'stop-propagation'?: boolean;
/**
* 点击菜单项时触发
*
*/
$emit(eventName: 'on-click', value: string): this;
/**
* 菜单显示状态改变时调用
*/
$emit(eventName: 'on-visible-change', value: boolean): this;
/**
* 点击外部关闭下拉菜单时触发
*/
$emit(eventName: 'on-clickoutside', event: object): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 主体内容
*/
'': VNode[];
/**
* 列表内容,一般由 DropdownMenu 承担
*/
list: VNode[];
};
}
export declare class DropdownMenu extends Vue {
}
export declare class DropdownItem extends Vue {
/**
* 用来标识这一项
*/
name?: string;
/**
* 禁用该项
* @default false
*/
disabled?: boolean;
/**
* 显示分割线
* @default false
*/
divided?: boolean;
/**
* 标记该项为选中状态
* @default false
*/
selected?: boolean;
}

8
iview/types/footer.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Footer extends Vue {
}

100
iview/types/form.d.ts vendored Normal file
View File

@@ -0,0 +1,100 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Form extends Vue {
/**
* 表单数据对象
*/
model?: object;
/**
* 表单验证规则,具体配置查看 async-validator
*/
rules?: object;
/**
* 是否开启行内表单模式
* @default false
*/
inline?: boolean;
/**
* 表单域标签的位置,可选值为 left、right、top
* @default right
*/
'label-position'?: 'left'|'right'|'top';
/**
* 表单域标签的宽度,所有的 FormItem 都会继承 Form 组件的 label-width 的值
*/
'label-width'?: number;
/**
* 是否显示校验错误信息
* @default true
*/
'show-message'?: boolean;
/**
* 对整个表单进行校验,参数为检验完的回调,会返回一个 Boolean 表示成功与失败
*/
validate(callback?: (valid?: boolean) => void): Promise<boolean>;
/**
* 对部分表单字段进行校验的方法参数1为需校验的 prop参数2为检验完回调返回错误信息
*/
validateField(prop?: string, callback?: (valid?: boolean) => void): void;
/**
* 对整个表单进行重置,将所有字段值重置为空并移除校验结果
*/
resetFields(): void;
}
export declare class FormItem extends Vue {
/**
* 对应表单域 model 里的字段
*/
prop?: string;
/**
* 标签文本
*/
label?: string;
/**
* 表单域标签的的宽度
*/
'label-width'?: number;
/**
* 指定原生的 label 标签的 for 属性,配合控件的 element-id 属性,可以点击 label 时聚焦控件。
*/
'label-for'?: string;
/**
* 是否必填,如不设置,则会根据校验规则自动生成
*/
required?: boolean;
/**
* 表单验证规则
*/
rules?: object | Array<any>;
/**
* 表单域验证错误信息, 设置该值会使表单验证状态变为error并显示该错误信息
*/
error?: string;
/**
* 是否显示校验错误信息
* @default true
*/
'show-message'?: boolean;
/**
* slot插槽对象
*/
$slots: {
/**
* 内容
*/
'': VNode[];
/**
* label 内容
*/
label: VNode[];
};
}

80
iview/types/grid.d.ts vendored Normal file
View File

@@ -0,0 +1,80 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Row extends Vue {
/**
* 栅格间距,单位 px左右平分
* @default 0
*/
gutter?: number;
/**
* 布局模式可选值为flex或不选在现代浏览器下有效
*/
type?: string;
/**
* lex 布局下的垂直对齐方式可选值为top、middle、bottom
*/
align?: 'top'|'middle'|'bottom';
/**
* flex 布局下的水平排列方式可选值为start、end、center、space-around、space-between
*/
justify?: 'start'|'end'|'center'|'space-around'|'space-between';
/**
* 自定义的class名称
*/
'class-name'?: string;
}
export declare class Col extends Vue {
/**
* 栅格的占位格数可选值为0~24的整数为 0 时相当于display:none
*/
span?: number | string;
/**
* 栅格的顺序在flex布局模式下有效
*/
order?: number | string;
/**
* 栅格左侧的间隔格数,间隔内不可以有栅格
*/
offset?: number | string;
/**
* 栅格向右移动格数
*/
push?: number | string;
/**
* 栅格向左移动格数
*/
pull?: number | string;
/**
* 自定义的class名称
*/
'class-name'?: string;
/**
* <576px 响应式栅格,可为栅格数或一个包含其他属性的对象
*/
xs?: number | object;
/**
* ≥576px 响应式栅格,可为栅格数或一个包含其他属性的对象
*/
sm?: number | object;
/**
* ≥768px 响应式栅格,可为栅格数或一个包含其他属性的对象
*/
md?: number | object;
/**
* ≥992px 响应式栅格,可为栅格数或一个包含其他属性的对象
*/
lg?: number | object;
/**
* ≥1200px 响应式栅格,可为栅格数或一个包含其他属性的对象
*/
xl?: number | object;
/**
* ≥1600px 响应式栅格,可为栅格数或一个包含其他属性的对象
*/
xxl?: number | object;
}

8
iview/types/header.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Header extends Vue {
}

20
iview/types/icon.d.ts vendored Normal file
View File

@@ -0,0 +1,20 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Icon extends Vue {
/**
* 图标的名称
*/
type?: string;
/**
* 图标的大小,单位是 px
*/
size?: number | string;
/**
* 图标的颜色
*/
color?: string;
}

10
iview/types/index.d.ts vendored Normal file
View File

@@ -0,0 +1,10 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import iView from './iview';
export default iView;
export as namespace iView;
export * from './iview.components';

80
iview/types/input-number.d.ts vendored Normal file
View File

@@ -0,0 +1,80 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class InputNumber extends Vue {
/**
* 最大值默认值Infinity
*/
max?: number;
/**
* 最小值,默认值-Infinity
*/
min?: number;
/**
* 当前值,可以使用 v-model 双向绑定数据默认值1
*/
value?: number;
/**
* 每次改变的步伐可以是小数默认值1
*/
step?: number;
/**
* 输入框尺寸可选值为large、small、default或者不填
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 设置禁用状态默认值false
*/
disabled?: boolean;
/**
* 输入框占位符
* @default 请选择
*/
placeholder?: string;
/**
* 指定输入框展示值的格式
*/
formatter?: () => void;
/**
* 指定从 formatter 里转换回数字的方式,和 formatter 搭配使用
*/
parser?: () => void;
/**
* 是否设置为只读
* @default false
*/
readonly?: boolean;
/**
* 是否可编辑
* @default true
*/
editable?: boolean;
/**
* 数值精度
*/
precision?: number;
/**
* 给表单元素设置 id详见 Form 用法。
*/
'element-id'?: string;
/**
* 是否实时响应数据,设置为 false 时,只会在失焦时更改数据
* @default true
*/
'active-change'?: boolean;
/**
* 数值改变时的回调,返回当前值,默认值当前值
*/
$emit(eventName: 'on-change', value: number): this;
/**
* 聚焦时触发
*/
$emit(eventName: 'on-focus', event: KeyboardEvent): this;
/**
* 失焦时触发
*/
$emit(eventName: 'on-blur', event: KeyboardEvent): this;
}

172
iview/types/input.d.ts vendored Normal file
View File

@@ -0,0 +1,172 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Input extends Vue {
/**
* 输入框类型,可选值为 text、password、textarea、url、email、date、number、tel
* @default text
*/
type?: 'text' | 'password' | 'textarea' | 'url' | 'email' | 'date' | 'number' | 'tel';
/**
* 绑定的值,可使用 v-model 双向绑定
* @default 空
*/
value?: string | number;
/**
* 输入框尺寸可选值为large、small、default或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 占位文本
*/
placeholder?: string;
/**
* 是否显示清空按钮
* @default false
*/
clearable?: boolean;
/**
* 设置输入框为禁用状态
* @default false
*/
disabled?: boolean;
/**
* 设置输入框为只读
* @default false
*/
readonly?: boolean;
/**
* 最大输入长度
*/
maxlength?: number;
/**
* 输入框尾部图标,仅在 text 类型下有效
*/
icon?: string;
/**
* 输入框头部图标
* @default false
*/
prefix?: string;
/**
* 输入框尾部图标
* @default false
*/
suffix?: String;
/**
* 是否显示为搜索型输入框
* @default false
*/
search?: boolean;
/**
* 开启 search 时可用,是否有确认按钮,可设为按钮文字
* @default false
*/
'enter-button'?: boolean | string;
/**
* 文本域默认行数,仅在 textarea 类型下有效
* @default 2
*/
rows?: number;
/**
* 自适应内容高度,仅在 textarea 类型下有效,可传入对象,如 { minRows: 2, maxRows: 6 }
* @default false
*/
autosize?: boolean | { minRows?: number, maxRows?: number };
/**
* 将用户的输入转换为 number 类型
* @default false
*/
number?: boolean;
/**
* 自动获取焦点
* @default false
*/
autofocus?: boolean;
/**
* 原生的自动完成功能,可选值为 off 和 on,off
*/
autocomplete?: string;
/**
* 给表单元素设置 id详见 Form 用法。
*/
'element-id'?: string;
/**
* 原生的 spellcheck 属性
* @default false
*/
spellcheck?: boolean;
/**
* 原生的 wrap 属性,可选值为 hard 和 soft仅在 textarea 下生效
* @default soft
*/
wrap?: 'hard' | 'soft';
/**
* 按下回车键时触发
*/
$emit(eventName: 'on-enter'): this;
/**
* 设置 icon 属性后,点击图标时触发
*/
$emit(eventName: 'on-click'): this;
/**
* 数据改变时触发
*/
$emit(eventName: 'on-change', event: string): this;
/**
* 输入框聚焦时触发
*/
$emit(eventName: 'on-focus'): this;
/**
* 输入框失去焦点时触发
*/
$emit(eventName: 'on-blur'): this;
/**
* 原生的 keyup 事件
*/
$emit(eventName: 'on-keyup', event: KeyboardEvent): this;
/**
* 原生的 keydown 事件
*/
$emit(eventName: 'on-keydown', event: KeyboardEvent): this;
/**
* 原生的 keypress 事件
*/
$emit(eventName: 'on-keypress', event: KeyboardEvent): this;
/**
* 开启 search 时可用,点击搜索或按下回车键时触发
*/
$emit(eventName: 'on-search', value: string): this;
/**
* 开启 clearable 时可用,点击清空按钮时触发
*/
$emit(eventName: 'on-clear'): this;
/**
* 手动聚焦输入框
*/
focus(): void;
/**
* slot插槽对象
*/
$slots: {
/**
* 前置内容,仅在 text 类型下有效
*/
prepend: VNode[];
/**
* 后置内容,仅在 text 类型下有效
*/
append: VNode[];
/**
* 输入框头部图标
*/
prefix: VNode[];
/**
* 输入框尾部图标
*/
suffix: VNode[];
};
}

144
iview/types/iview.components.d.ts vendored Normal file
View File

@@ -0,0 +1,144 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export { Affix } from './affix';
export { Alert } from './alert';
export { Anchor, AnchorLink } from './anchor';
export { AutoComplete } from './auto-complete';
export { Avatar } from './avatar';
export { BackTop } from './back-top';
export { Badge } from './badge';
export { Breadcrumb, BreadcrumbItem } from './breadcrumb';
export { Button, ButtonGroup } from './button';
export { Card } from './card';
export { Carousel, CarouselItem } from './carousel';
export { Cascader } from './cascader';
export { Cell, CellGroup } from './cell';
export { Checkbox, CheckboxGroup } from './checkbox';
export { Circle, Circle as ICircle } from './circle';
export { Collapse, CollapsePanel } from './collapse';
export { ColorPicker } from './color-picker';
export { Content } from './content';
export { DatePicker, DatePickerOptions } from './date-picker';
export { Divider } from './divider';
export { Drawer } from './drawer';
export { Dropdown, DropdownMenu, DropdownItem } from './dropdown';
export { Footer } from './footer';
export { Form, FormItem } from './form';
export { Row, Col } from './grid';
export { Header } from './header';
export { Icon } from './icon';
export { Input } from './input';
export { InputNumber } from './input-number';
export { Scroll } from './scroll';
export { Split } from './split';
export { Layout } from './layout';
export { LoadingBar, LoadingBarConfig } from './loading-bar';
export { Menu, MenuGroup, MenuItem, Submenu } from './menu';
export { Message, MessageConfig } from './message';
export { Modal, ModalInstance, ModalConfig } from './modal';
export { Notice, NoticeConfig, NoticeGlobalConfig } from './notice';
export { Page } from './page';
export { Poptip } from './poptip';
export { Progress } from './progress';
export { Radio, RadioGroup } from './radio';
export { Rate } from './rate';
export { Select, Option, OptionGroup } from './select';
export { Sider } from './sider';
export { Slider } from './slider';
export { Spin } from './spin';
export { Steps, StepsStep } from './steps';
export { Switch, Switch as ISwitch } from './switch';
export { Table, TableColumn, TableRenderCreateElementData, TableColumnRenderParams, TableColumnRenderHeadParams, TableExportCsvParams } from './table';
export { Tabs, TabPane } from './tabs';
export { Tag } from './tag';
export { Time } from './time';
export { Timeline, TimelineItem } from './timeline';
export { TimePicker } from './time-picker';
export { Tooltip } from './tooltip';
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;
install: (
Vue: Vue,
opts: IViewInstallOptions
) => void;
lang: (code: string) => void;
};
export default API;
declare module 'vue/types/vue' {
interface Vue {
$IVIEW: IViewGlobalOptions;
}
}

6
iview/types/iview.d.ts vendored Normal file
View File

@@ -0,0 +1,6 @@
import { PluginFunction } from 'vue';
interface IView extends PluginFunction<any> {}
declare const iView: IView;
export default iView;

73
iview/types/layout.d.ts vendored Normal file
View File

@@ -0,0 +1,73 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Layout extends Vue {
/**
* 触发响应式布局的断点可选值为xs,sm,md,lg,xl或xxl若不设此属性则不会触发响应式布局。
* {
* xs: '480px',
* sm: '576px',
* md: '768px',
* lg: '992px',
* xl: '1200px',
* xxl: '1600px'
* }
*/
breakpoint?: string;
/**
* 侧边栏是否收起,可使用 v-model 双向绑定数据。
* @default false
*/
value?: boolean;
/**
* 宽度
* @default 200
*/
width?: number;
/**
* 是否可收起设为false后默认触发器会隐藏且响应式布局不会触发
* @default false
*/
collapsible?: boolean;
/**
* 收缩宽度,设置为 0 会出现特殊 trigger
* @default 64
*/
'collapsed-width'?: number;
/**
* 隐藏默认触发器
* @default false
*/
'hide-trigger'?: boolean;
/**
* 是否默认收起设置了collapsible后设置此属性侧边栏仍会收起。
* @default false
*/
'default-collapsed'?: boolean;
/**
* 改变侧边栏触发器箭头方向和改变侧边栏收起方向当Sider在右边时可以使用。
* @default false
*/
'reverse-arrow'?: boolean;
/**
* 展开-收起时的回调true/false
*/
$emit(eventName: 'on-collapse', []): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义触发器
* @default
*/
trigger: VNode[];
};
/**
* methods, 改变Sider展开-收起状态。
*/
toggleCollapse(): void;
}

68
iview/types/loading-bar.d.ts vendored Normal file
View File

@@ -0,0 +1,68 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export const LoadingBar: LoadingBarClass;
export declare class LoadingBarClass extends Vue {
/**
* 开始从 0 显示进度条,并自动加载进度
*/
start(): void;
/**
* 结束进度条,自动补全剩余进度
*/
finish(): void;
/**
* 以错误的类型结束进度条,自动补全剩余进度
*/
error(): void;
/**
* 精确加载到指定的进度
* @param percent 指定的进度百分比
*/
update(percent?: number): void;
/**
* 全局配置
* @param options 配置对象
*/
config(options?: LoadingBarConfig): void;
/**
* 全局销毁
*/
destroy(): void;
}
export declare class LoadingBarConfig {
/**
* 进度条的颜色,默认为 iView 主色
* @default primary
*/
color?: string;
/**
* 失败时的进度条颜色,默认为 iView 主色
* @default error
*/
failedColor?: string;
/**
* 进度条高度,单位 px
* @default 2
*/
height?: number;
/**
* 自动消失的延时, 默认为800ms
* @default 800
*/
duration?: number;
}
declare module 'vue/types/vue' {
interface Vue {
/**
* 加载进度条
*/
$Loading: LoadingBarClass;
}
}

107
iview/types/menu.d.ts vendored Normal file
View File

@@ -0,0 +1,107 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Menu extends Vue {
/**
* 菜单类型,可选值为 horizontal水平 和 vertical垂直
* @default vertical
*/
mode?: 'horizontal' | 'vertical';
/**
* 主题,可选值为 light、dark、primary其中 primary 只适用于 mode="horizontal"
* @default light
*/
theme?: 'light' | 'dark' | 'primary';
/**
* 激活菜单的 name 值
*/
'active-name'?: string | number;
/**
* 展开的 Submenu 的 name 集合
*/
'open-names'?: string[] | number[];
/**
* 是否开启手风琴模式,开启后每次至多展开一个子菜单
* @default false
*/
accordion?: boolean;
/**
* 导航菜单的宽度,只在 mode="vertical" 时有效,如果使用 Col 等布局,建议设置为 auto
* @default 240px
*/
width?: string;
/**
* 选择菜单MenuItem时触发
*/
$emit(eventName: 'on-select', name?: string | number): this;
/**
* 当 展开/收起 子菜单时触发
* @default 当前展开的 Submenu 的 name 值数组
*/
$emit(eventName: 'on-open-change', names: string[] | number[]): this;
/**
* 手动更新展开的子目录,注意要在 $nextTick 里调用
*/
updateOpened(): void;
/**
* 手动更新当前选择项,注意要在 $nextTick 里调用
*/
updateActiveName(): void;
}
export declare class MenuItem extends Vue {
/**
* 菜单项的唯一标识,必填
*/
name?: string | number;
/**
* 跳转的链接,支持 vue-router 对象
*/
to?: string | object;
/**
* 路由跳转时,开启 replace 将不会向 history 添加新记录
* @default false
*/
replace?: boolean;
/**
* 相当于 a 链接的 target 属性
* @default _self
*/
target?: '_blank' | '_self' | '_parent' | '_top';
/**
* 同 vue-router append
* @default false
*/
append?: boolean;
}
export declare class Submenu extends Vue {
/**
* 子菜单的唯一标识,必填
*/
name?: string | number;
/**
* slot插槽对象
*/
$slots: {
/**
* 菜单项
*/
'': VNode[];
/**
* 子菜单标题
*/
title: VNode[];
};
}
export declare class MenuGroup extends Vue {
/**
* 分组标题
* @default 空
*/
title?: string;
}

82
iview/types/message.d.ts vendored Normal file
View File

@@ -0,0 +1,82 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode, CreateElement } from "vue";
export declare class Message extends Vue {
/**
* 消息
* @param config MessageConfig为相关配置,string为待显示的内容
*/
info(config?: MessageConfig | string): void;
/**
* 成功
* @param config MessageConfig为相关配置,string为待显示的内容
*/
success(config?: MessageConfig | string): void;
/**
* 警告
* @param config MessageConfig为相关配置,string为待显示的内容
*/
warning(config?: MessageConfig | string): void;
/**
* 错误
* @param config MessageConfig为相关配置,string为待显示的内容
*/
error(config?: MessageConfig | string): void;
/**
* 配置
* @param config MessageConfig为相关配置,string为待显示的内容
*/
loading(options?: MessageConfig | string): void;
/**
* 配置
* @param config MessageConfig为相关配置,string为待显示的内容
*/
config(options?: MessageConfig): void;
/**
* 销毁
*/
destroy(): void;
}
export declare class MessageConfig {
/**
* 提示内容
*/
content?: string;
/**
* 自定义描述内容,使用 Vue 的 Render 函数
* @param h Render函数
*/
render?: (h?: CreateElement) => VNode;
/**
* 关闭时的回调
*/
onClose?: () => void;
/**
* 页面是否可以滚动
* @default false
*/
closable?: boolean;
/**
* 提示组件距离顶端的距离,单位像素
* @default 24
*/
top?: number;
/**
* 默认自动关闭的延时,单位秒
* @default 1.5
*/
duration?: number;
}
declare module "vue/types/vue" {
interface Vue {
/**
* 全局提示
*/
$Message: Message;
}
}

224
iview/types/modal.d.ts vendored Normal file
View File

@@ -0,0 +1,224 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode, CreateElement } from "vue";
export declare class Modal extends Vue {
/**
* 对话框是否显示,可使用 v-model 双向绑定数据。
* @default false
*/
value?: boolean;
/**
* 对话框标题,如果使用 slot 自定义了页头,则 title 无效
*/
title?: string;
/**
* 是否显示右上角的关闭按钮,关闭后 Esc 按键也将关闭,
* @default true
*/
closable?: boolean;
/**
* 是否允许点击遮罩层关闭
* @default true
*/
"mask-closable"?: boolean;
/**
* 点击确定按钮时,确定按钮是否显示 loading 状态开启则需手动设置visible来关闭对话框,
* @default false
*/
loading?: boolean;
/**
* 页面是否可以滚动
* @default false
*/
scrollable?: boolean;
/**
* 是否全屏显示
* @default false
*/
fullscreen?: boolean;
/**
* 是否可以拖拽移动
* @default false
*/
draggable?: boolean;
/**
* 是否显示遮罩层,开启 draggable 时,强制不显示
* @default true
*/
mask?: boolean;
/**
* 确定按钮文字
* @default 确定
*/
"ok-text"?: string;
/**
* 取消按钮文字
* @default 取消
*/
"cancel-text"?: string;
/**
* 对话框宽度,单位 px。
* 对话框的宽度是响应式的,当屏幕尺寸小于 768px 时宽度会变为自动auto,
* @default 520
*/
width?: number | string;
/**
* 不显示底部
* @default false
*/
"footer-hide"?: boolean;
/**
* 设置浮层样式,调整浮层位置等,该属性设置的是.ivu-modal的样式
*/
style?: object;
/**
* 设置对话框容器.ivu-modal-wrap的类名可辅助实现垂直居中等自定义效果
*/
"class-name"?: string;
/**
* 层级
* @default 1000
*/
"z-index"?: number;
/**
* 自定义显示动画,第一项是模态框,第二项是背景,
* @default ['ease', 'fade']
*/
"transition-names"?: Array<string>;
/**
* 是否将弹层放置于 body 内默认值true
* @default true
*/
transfer?: boolean;
/**
* 点击确定的回调
*/
$emit(eventName: "on-ok"): this;
/**
* 开关变化时触发,返回当前的状态
*/
$emit(eventName: "on-cancel"): this;
/**
* 开关变化时触发,返回当前的状态
*/
$emit(eventName: "on-visible-change", visible: boolean): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 对话框主体内容
*/
"": VNode[];
/**
* 自定义页头
*/
header: VNode[];
/**
* 自定义页脚内容
*/
footer: VNode[];
/**
* 自定义右上角关闭内容
*/
close: VNode[];
};
}
export declare class ModalInstance extends Modal {
/**
* 消息
* @param config ModalConfig为相关配置,string为待显示的内容
*/
info(config?: ModalConfig | string): void;
/**
* 成功
* @param config ModalConfig为相关配置,string为待显示的内容
*/
success(config?: ModalConfig | string): void;
/**
* 警告
* @param config ModalConfig为相关配置,string为待显示的内容
*/
warning(config?: ModalConfig | string): void;
/**
* 错误
* @param config ModalConfig为相关配置,string为待显示的内容
*/
error(config?: ModalConfig | string): void;
/**
* 对话框
* @param config ModalConfig为相关配置,string为待显示的内容
*/
confirm(config?: ModalConfig | string): void;
/**
* 移除
*/
remove(): void;
}
export declare class ModalConfig {
/**
* 标题或者Element选择器字符串
*/
title?: string;
/**
* 内容或者Element选择器字符串
*/
content?: string;
/**
* 自定义内容,使用后不再限制类型, content 也无效。
* @param h Render函数
*/
render?: (h?: CreateElement) => void;
/**
* 宽度,单位 px
* @default 416
*/
width?: number | string;
/**
* 确定按钮的文字
* @default 确定
*/
okText?: string;
/**
* 取消按钮的文字只在Modal.confirm()下有效
* @default 取消
*/
cancelText?: string;
/**
* 点击确定按钮时,确定按钮是否显示 loading 状态开启则需手动调用Modal.remove()来关闭对话框
* @default false
*/
loading?: boolean;
/**
* 页面是否可以滚动
* @default false
*/
scrollable?: boolean;
/**
* 页面是否可以滚动
* @default false
*/
closable?: boolean;
/**
* 点击确定的回调
*/
onOk?: () => void;
/**
* 点击取消的回调只在Modal.confirm()下有效
*/
onCancel?: () => void;
}
declare module "vue/types/vue" {
interface Vue {
/**
* 对话框
*/
$Modal: ModalInstance;
}
}

93
iview/types/notice.d.ts vendored Normal file
View File

@@ -0,0 +1,93 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode, CreateElement } from "vue";
export declare class Notice extends Vue {
/**
* 打开
* @param config NoticeConfig为相关配置,string为待显示的内容
*/
open(config?: NoticeConfig | string): void;
/**
* 信息
* @param config NoticeConfig为相关配置,string为待显示的内容
*/
info(config?: NoticeConfig | string): void;
/**
* 成功
* @param config NoticeConfig为相关配置,string为待显示的内容
*/
success(config?: NoticeConfig | string): void;
/**
* 警告
* @param config NoticeConfig为相关配置,string为待显示的内容
*/
warning(config?: NoticeConfig | string): void;
/**
* 错误
* @param config NoticeConfig为相关配置,string为待显示的内容
*/
error(config?: NoticeConfig): void;
/**
* 全局配置
*/
config(options?: NoticeGlobalConfig): void;
/**
* 全局关闭某个通知
*/
close(name?: string): void;
/**
* 全局销毁
*/
destroy(): void;
}
export declare class NoticeConfig {
/**
* 通知提醒的标题
*/
title?: string;
/**
* 通知提醒的内容,为空或不填时,自动应用仅标题模式下的样式
*/
desc?: string;
/**
* 自定义描述内容,使用 Vue 的 Render 函数
* @param h Render函数
*/
render?: (h?: CreateElement) => VNode;
/**
* 自动关闭的延时,单位秒,不关闭可以写 0 默认4.5
*/
duration?: number;
/**
* 当前通知的唯一标识
*/
name?: string;
/**
* 关闭时的回调
*/
onClose?: Function;
}
export declare class NoticeGlobalConfig {
/**
* 通知组件距离顶端的距离,单位像素 默认24
*/
top?: number;
/**
* 默认自动关闭的延时,单位秒 默认4.5
*/
duration?: number;
}
declare module "vue/types/vue" {
interface Vue {
/**
* 通知提醒
*/
$Notice: Notice;
}
}

99
iview/types/page.d.ts vendored Normal file
View File

@@ -0,0 +1,99 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Page extends Vue {
/**
* 当前页码,支持 .sync 修饰符
* @default 1
*/
current?: number;
/**
* 数据总数
* @default 0
*/
total?: number;
/**
* 每页条数
* @default 10
*/
'page-size'?: number;
/**
* 每页条数切换的配置
* @default [10, 20, 30, 40]
*/
'page-size-opts'?: number[];
/**
* 条数切换弹窗的展开方向,可选值为 bottom 和 top
* @default bottom
*/
placement?: string;
/**
* 可选值为small迷你版或不填默认
*/
size?: string;
/**
* 简洁版
* @default false
*/
simple?: boolean;
/**
* 显示总数
* @default false
*/
'show-total'?: boolean;
/**
* 显示电梯,可以快速切换到某一页
* @default false
*/
'show-elevator'?: boolean;
/**
* 显示分页用来改变page-size
* @default false
*/
'show-sizer'?: boolean;
/**
* 自定义 class 名称
*/
'class-name'?: string;
/**
* 自定义 style 样式
*/
styles?: object;
/**
* 是否将弹层放置于 body 内,
* 在 Tabs、带有 fixed 的 Table 列内使用时,建议添加此属性,
* 它将不受父级样式影响,从而达到更好的效果
* @default false
*/
transfer?: boolean;
/**
* 替代图标显示的上一页文字
*/
'prev-text'?: string;
/**
* 替代图标显示的下一页文字
*/
'next-text'?: string;
/**
* 页码改变的回调,返回改变后的页码
* @param pageNum 页码
*/
$emit(eventName: 'on-change', pageNum: number): this;
/**
* 切换每页条数时的回调,返回切换后的每页条数
* @param pageSize 每页条数
*/
$emit(eventName: 'on-page-size-change', pageSize: number): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义显示总数的内容
*/
'': VNode[];
};
}

128
iview/types/poptip.d.ts vendored Normal file
View File

@@ -0,0 +1,128 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Poptip extends Vue {
/**
* 触发方式可选值为hover悬停click点击focus聚焦,
* 在 confirm 模式下,只有 click 有效
* @default click
*/
trigger?: string;
/**
* 显示的标题
*/
title?: string | number;
/**
* 显示的正文内容,只在非 confirm 模式下有效\
* @default 空
*/
content?: string | number;
/**
* 提示框出现的位置,可选值为
* toptop-starttop-endbottombottom-startbottom-end
* leftleft-startleft-endrightright-startright-end
* 2.12.0 版本开始支持自动识别
* @default top
*/
placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
/**
* 宽度,最小宽度为 150px在 confirm 模式下,默认最大宽度为 300px
*/
width?: string | number;
/**
* 是否开启对话框模式
* @default false
*/
confirm?: boolean;
/**
* 是否禁用
* @default false
*/
disabled?: boolean;
/**
* 确定按钮的文字,只在 confirm 模式下有效
* @default 确定
*/
'ok-text'?: string;
/**
* 取消按钮的文字,只在 confirm 模式下有效
* @default 取消
*/
'cancel-text'?: string;
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,
* 建议添加此属性,它将不受父级样式影响,从而达到更好的效果
* @default false
*/
transfer?: boolean;
/**
* 给 Poptip 设置 class-name在使用 transfer 时会很有用
* @default false
*/
'popper-class'?: string;
/**
* 开启后,超出指定宽度文本将自动换行,并两端对齐
* @default false
*/
'word-wrap'?: boolean;
/**
* 自定义间距值
* @default 8px 16px
*/
padding?: string;
/**
* 出现位置的偏移量
* @default false
*/
offset?: string;
/**
* 自定义 popper.js 的配置项,具体配置见 popper.js 文档
* @default {
modifiers: {
computeStyle:{
gpuAcceleration: false,
},
preventOverflow :{
boundariesElement: 'window'
}
}
}
*/
options?: object;
/**
* 在提示框显示时触发
*/
$emit(eventName: 'on-popper-show'): this;
/**
* 在提示框消失时触发
*/
$emit(eventName: 'on-popper-hide'): this;
/**
* 点击确定的回调,只在 confirm 模式下有效
*/
$emit(eventName: 'on-ok'): this;
/**
* 点击取消的回调,只在 confirm 模式下有效
*/
$emit(eventName: 'on-cancel'): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 主体内容
*/
'': VNode[];
/**
* 提示框标题,定义此 slot 时,会覆盖 props title
*/
title: VNode[];
/**
* 提示框内容,定义此 slot 时,会覆盖 props content只在非 confirm 模式下有效
*/
content: VNode[];
}
}

51
iview/types/progress.d.ts vendored Normal file
View File

@@ -0,0 +1,51 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Progress extends Vue {
/**
* 百分比
* @default 0
*/
percent?: number;
/**
* 状态可选值为normal、active、wrong、success
* @default normal
*/
status?: 'normal'|'active'|'wrong'|'success';
/**
* 进度条的线宽,单位 px
* @default 10
*/
'stroke-width'?: number;
/**
* 隐藏数值或状态图标
* @default false
*/
'hide-info'?: boolean;
/**
* 是否在垂直方向显示
* @default false
*/
vertical?: boolean;
/**
* 已完成的分段百分比
* @default 0
*/
'success-percent'?: number;
/**
* 进度条的颜色
*/
'stroke-color'?: string;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义显示状态内容
*/
'': VNode[];
};
}

64
iview/types/radio.d.ts vendored Normal file
View File

@@ -0,0 +1,64 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Radio extends Vue {
/**
* 只在单独使用时有效。可以使用 v-model 双向绑定数据
* @default false
*/
value?: boolean;
/**
* 只在组合使用时有效。指定当前选项的 value 值,组合会自动判断当前选择的项目
*/
label?: string | number;
/**
* 是否禁用当前项
* @default false
*/
disabled?: boolean;
/**
* 单选框的尺寸,可选值为 large、small、default 或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用
* @default true
*/
'true-value'?: string | number | boolean;
/**
* 没有选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用
* @default false
*/
'false-value'?: string | number | boolean;
/**
* 在选项状态发生改变时触发,返回当前状态。通过修改外部的数据改变时不会触发
*/
$emit(eventName: 'on-change', arg: string | number | boolean): this;
}
export declare class RadioGroup extends Vue {
/**
* 指定当前选中的项目数据。可以使用 v-model 双向绑定数据
*/
value?: string | number;
/**
* 可选值为 button 或不填,为 button 时使用按钮样式
*/
type?: string;
/**
* 尺寸可选值为large、small、default或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 是否垂直排列,按钮样式下无效
* @default false
*/
vertical?: boolean;
/**
* 在选项状态发生改变时触发,返回当前选中的项。通过修改外部的数据改变时不会触发
*/
$emit(eventName: 'on-change', ...args: Array<string | number | boolean>): this;
}

54
iview/types/rate.d.ts vendored Normal file
View File

@@ -0,0 +1,54 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Rate extends Vue {
/**
* star总数
* @default 5
*/
count?: number;
/**
* 当前 star 数,可以使用 v-model 双向绑定数据
* @default 0
*/
value?: number;
/**
* 是否允许半选
* @default false
*/
'allow-half'?: boolean;
/**
* 是否只读,无法进行交互
* @default false
*/
disabled?: boolean;
/**
* 是否显示提示文字
* @default false
*/
'show-text'?: boolean;
/**
* 是否可以取消选择
* @default false
*/
clearable?: boolean;
/**
* 自定义字符
*/
character?: string;
/**
* 使用图标
*/
icon?: string;
/**
* 使用自定义图标
*/
'custom-icon'?: string;
/**
* 评分改变时触发
*/
$emit(eventName: 'on-change', value: number): this;
}

35
iview/types/scroll.d.ts vendored Normal file
View File

@@ -0,0 +1,35 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Scroll extends Vue {
/**
* 滚动区域的高度,单位像素
* @default 300
*/
height?: string | number;
/**
* 加载中的文案
* @default 加载中
*/
'loading-text'?: string;
/**
* 滚动至顶部时触发需返回Promise
*/
'on-reach-top'?: () => void;
/**
* 滚动至底部时触发需返回Promise
*/
'on-reach-bottom'?: () => void;
/**
* 滚动至顶部或底部时触发需返回Promise
*/
'on-reach-edge'?: () => void;
/**
* 从边缘到触发回调的距离。如果是负的,回调将在到达边缘之前触发。值最好在 24 以下。
* @default [20, 20]
*/
'distance-to-edge'?: number | number[];
}

166
iview/types/select.d.ts vendored Normal file
View File

@@ -0,0 +1,166 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Select extends Vue {
/**
* 指定选中项目的 value 值,可以使用 v-model 双向绑定数据。
* 单选时只接受 String 或 Number多选时只接受 Array
* @default 空
*/
value?: string | number | string[] | number[];
/**
* 是否支持多选
* @default false
*/
multiple?: boolean;
/**
* 是否禁用
* @default false
*/
disabled?: boolean;
/**
* 是否可以清空选项,只在单选时有效
* @default false
*/
clearable?: boolean;
/**
* 是否支持搜索
* @default false
*/
filterable?: boolean;
/**
* 是否使用远程搜索
* @default false
*/
remote?: boolean;
/**
* 远程搜索的方法
*/
'remote-method'?: () => void;
/**
* 当前是否正在远程搜索
* @default false
*/
loading?: boolean;
/**
* 远程搜索中的文字提示
* @default 加载中
*/
'loading-text'?: string;
/**
* 仅在 remote 模式下,初始化时使用。因为仅通过 value 无法得知选项的 label需手动设置。默认值空
*/
label?: string | number | string[] | number[];
/**
* 选择框大小可选值为large、small、default或者不填
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 选择框默认文字
* @default 请选择
*/
placeholder?: string;
/**
* 当下拉列表为空时显示的内容
* @default 无匹配数据
*/
'not-found-text'?: string;
/**
* 在返回选项时,是否将 label 和 value 一并返回,默认只返回
* @default false
*/
'label-in-value'?: boolean;
/**
* 弹窗的展开方向,可选值为 top、bottom、top-start、bottom-start、top-end、bottom-end
* @default bottom-start
*/
placement?: 'bottom' | 'top' | 'top-start' | 'bottom-start' | 'top-end' | 'bottom-end';
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,
* 建议添加此属性,它将不受父级样式影响,从而达到更好的效果
* @default false
*/
transfer?: boolean;
/**
* 给表单元素设置 id详见 Form 用法。
*/
'element-id'?: string;
/**
* 开启 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 属性 当前选中项
*/
$emit(eventName: 'on-change'): this;
/**
* 搜索词改变时触发,query
*/
$emit(eventName: 'on-query-change', query: string): this;
/**
* 搜索词改变时触发,query
*/
$emit(eventName: 'on-clear'): this;
/**
* 搜索词改变时触发,query
*/
$emit(eventName: 'on-open-change', params: boolean): this;
/**
* 设置搜索词,为空时清空,仅在 filterable="true" 时有效
*/
setQuery(query: string): void;
/**
* 清空单选项,仅在 clearable="true" 时有效
*/
clearSingleSelect(): void;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义 Select 内头部图标
*/
prefix: VNode[];
};
}
export declare class Option extends Vue {
/**
* 选项值,默认根据此属性值进行筛选,必填
*/
value?: string | number;
/**
* 选项显示的内容,默认会读取 slot无 slot 时,优先读取该 label 值,
* 无 label 时,读取 value。当选中时选择器会显示 label 为已选文案。
* 大部分情况不需要配置此项,直接写入 slot 即可,在自定义选项时,该属性非常有用。
*/
label?: string;
/**
* 是否禁用当前项
* @default false
*/
disabled?: boolean;
}
export declare class OptionGroup extends Vue {
/**
* 分组的组名
* @default 空
*/
label?: string;
}

8
iview/types/sider.d.ts vendored Normal file
View File

@@ -0,0 +1,8 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Sider extends Vue {
}

75
iview/types/slider.d.ts vendored Normal file
View File

@@ -0,0 +1,75 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Slider extends Vue {
/**
* 滑块选定的值,可以使用 v-model 双向绑定数据。普通模式下,数据格式为数字,
* 在双滑块模式下数据格式为长度是2的数组且每项都为数字,
* @default 0
*/
value?: number | number[];
/**
* 最小值
* @default 0
*/
min?: number;
/**
* 最大值
* @default 100
*/
max?: number;
/**
* 步长取值建议能被max - min整除
* @default 1
*/
step?: number;
/**
* 是否禁用滑块
* @default false
*/
disabled?: boolean;
/**
* 是否开启双滑块模式
* @default false
*/
range?: boolean;
/**
* 是否显示数字输入框,仅在单滑块模式下有效
* @default false
*/
'show-input'?: boolean;
/**
* 是否显示间断点,建议在 step 不密集时使用
* @default false
*/
'show-stops'?: boolean;
/**
* 提示的显示控制,可选值为 hover悬停默认、always总是可见、never不可见
* @default false
*/
'show-tip'?: boolean;
/**
* 会把当前值传给 tip-format并在 Tooltip 中显示 tip-format 的返回值,若为 null则隐藏 Tooltip
*/
'tip-format'?: (value?: number | number[]) => void;
/**
* 数字输入框的尺寸可选值为large、small、default或者不填仅在开启 show-input 时有效
*/
'input-size'?: '' | 'large' | 'small' | 'default';
/**
* 同 InputNumber 的 active-change
* @default true
*/
'active-change'?: boolean;
/**
* 在松开滑动时触发,返回当前的选值,在滑动过程中不会触发
*/
$emit(eventName: 'on-change', value: number | number[]): this;
/**
* 滑动条数据变化时触发,返回当前的选值,在滑动过程中实时触发
*/
$emit(eventName: 'on-input', value: number | number[]): this;
}

35
iview/types/spin.d.ts vendored Normal file
View File

@@ -0,0 +1,35 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Spin extends Vue {
/**
* Spin尺寸可选值为large和small或者不设置
*/
size?: 'large' | 'small';
/**
* 是否固定需要父级有relative或absolute
* @default false
*/
fix?: boolean;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义 Spin 的内容设置slot后默认的样式不生效
*/
'': VNode[];
};
}
declare module 'vue/types/vue' {
interface Vue {
/**
*
*/
$Spin: Spin;
}
}

68
iview/types/split.d.ts vendored Normal file
View File

@@ -0,0 +1,68 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Split extends Vue {
/**
* 面板位置,可以是 0~1 代表百分比,或具体数值的像素,可用 v-model 双向绑定
* @default 0.5
*/
value?: number | string;
/**
* 类型,可选值为 horizontal 或 vertical
* @default horizontal
*/
mode?: 'horizontal' | 'vertical';
/**
* 最小阈值
* @default 40px
*/
min?: number | string;
/**
* 最大阈值
* @default 40px
*/
max?: number | string;
/**
* 拖拽开始 -
* @default false
*/
$emit(eventName: 'on-move-start', []): this;
/**
* 拖拽中
*/
$emit(eventName: 'on-moving', []): this;
/**
* 拖拽结束
* @default false
*/
$emit(eventName: 'on-move-end', []): this;
/**
* slot插槽对象
*/
$slots: {
/**
* mode 为 horizontal 时可用,左边面板
* @default false
*/
left: VNode[];
/**
* mode 为 horizontal 时可用,右边面板
*/
right: VNode[];
/**
* mode 为 vertical 时可用,上边面板
*/
top: VNode[];
/**
* mode 为 vertical 时可用,下边面板
*/
bottom: VNode[];
/**
* 自定义分割拖拽节点
*/
trigger: VNode[];
}
}

48
iview/types/steps.d.ts vendored Normal file
View File

@@ -0,0 +1,48 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Steps extends Vue {
/**
* 当前步骤,从 0 开始计数
* @default 0
*/
current?: number;
/**
* 当前步骤的状态可选值为wait、process、finish、error
* @default process
*/
status?: 'wait' | 'process' | 'finish' | 'error';
/**
* 步骤条的尺寸可选值为small或者不写
*/
size?: '' | 'small';
/**
* 步骤条的方向可选值为horizontal水平或vertical垂直
* @default horizontal
*/
direction?: 'horizontal' | 'vertical';
}
export declare class StepsStep extends Vue {
/**
* 步骤的状态可选值为wait、process、finish、error不设置时自动判断
* @default process
*/
status?: 'wait' | 'process' | 'finish' | 'error';
/**
* 标题
* @default 空
*/
title?: string;
/**
* 步骤的详细描述,可选
*/
content?: string;
/**
* 步骤的图标,可选
*/
icon?: string;
}

54
iview/types/switch.d.ts vendored Normal file
View File

@@ -0,0 +1,54 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Switch extends Vue {
/**
* 指定当前是否选中,可以使用 v-model 双向绑定数据
* @default false
*/
value?: boolean;
/**
* 开关的尺寸可选值为large、small、default或者不写。建议开关如果使用了2个汉字的文字使用 large。
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 禁用开关
* @default false
*/
disabled?: boolean;
/**
* 选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用
* @default true
*/
'true-value'?: string | number | boolean;
/**
* 没有选中时的值,当使用类似 1 和 0 来判断是否选中时会很有用
* @default false
*/
'false-value'?: string | number | boolean;
/**
* 加载中的开关
* @default false
*/
loading?: boolean;
/**
* 开关变化时触发,返回当前的状态
*/
$emit(eventName: 'on-change', value: boolean): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义显示打开时的内容
*/
open: VNode[];
/**
* 自定义显示关闭时的内容
*/
close: VNode[];
};
}

446
iview/types/table.d.ts vendored Normal file
View File

@@ -0,0 +1,446 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode, CreateElement } from "vue";
export declare class Table extends Vue {
/**
* 显示的结构化数据,其中,字段 cellClassName 用于设置任意单元格的样式名称,
* 因此数据不能使用该字段,详见示例特定样式。
* @default []
*/
data?: object[];
/**
* 表格列的配置描述,具体项见后文
* @default []
*/
columns?: object[];
/**
* 是否显示间隔斑马纹
* @default false
*/
stripe?: boolean;
/**
* 是否显示纵向边框
* @default false
*/
border?: boolean;
/**
* 是否显示表头
* @default true
*/
"show-header"?: boolean;
/**
* 表格宽度,单位 px
* @default 自动
*/
width?: number | string;
/**
* 表格高度,单位 px设置后如果表格内容大于此值会固定表头
*/
height?: number | string;
/**
* 表格最大高度,单位 px设置后如果表格内容大于此值会固定表头
*/
'max-height'?: number | string;
/**
* 表格是否加载中
* @default false
*/
loading?: boolean;
/**
* 禁用鼠标悬停时的高亮
* @default false
*/
"disabled-hover"?: boolean;
/**
* 是否支持高亮选中的行,即单选
* @default false
*/
"highlight-row"?: boolean;
/**
* 行的 className 的回调方法,传入参数:
* row当前行数据
* index当前行的索引
*/
"row-class-name"?: (row?: object, index?: number) => void;
/**
* 表格尺寸,可选值为 large、small、default 或者不填
*/
size?: string;
/**
* 数据为空时显示的提示内容
* @default 暂无数据
*/
"no-data-text"?: string;
/**
* 筛选数据为空时显示的提示内容
* @default 暂无筛选结果
*/
"no-filtered-data-text"?: string;
/**
* 是否开启拖拽调整行顺序,需配合 @on-drag-drop 事件使用
* @default false
*/
"draggable"?: boolean;
/**
* 列使用 tooltip 时,配置它的主题,可选值为 dark 或 light
* @default dark
*/
"tooltip-theme"?: string;
/**
* 是否强制使用内置的 row-key开启后可能会影响性能
* @default false
*/
"row-key"?: boolean;
/**
* 开启 highlight-row 后有效,当表格的当前行发生变化的时候会触发
* currentRow当前高亮行的数据
* oldCurrentRow上一次高亮的数据
*/
$emit(
eventName: "on-current-change",
currentRow: object,
oldCurrentRow: object
): this;
/**
* 在多选模式下有效,选中某一项时触发
* selection已选项数据
* row刚选择的项数据
*/
$emit(eventName: "on-select", selection: object[], row: object): this;
/**
* 在多选模式下有效,取消选中某一项时触发
* selection已选项数据
* row取消选择的项数据
*/
$emit(
eventName: "on-select-cancel",
selection: object[],
row: object
): this;
/**
* 在多选模式下有效,点击全选时触发
* selection已选项数据
*/
$emit(eventName: "on-select-all", selection: object[]): this;
/**
* 在多选模式下有效,点击取消全选时触发
* selection已选项数据
*/
$emit(eventName: "on-select-all-cancel", selection: object[]): this;
/**
* 在多选模式下有效,只要选中项发生变化时就会触发
* selection已选项数据
*/
$emit(eventName: "on-selection-change", selection: object[]): this;
/**
* 排序时有效,当点击排序时触发
* column当前列数据
* key排序依据的指标
* order排序的顺序值为 asc 或 desc
*/
$emit(
eventName: "on-sort-change",
column?: object,
key?: string,
order?: "asc" | "desc"
): this;
/**
* 筛选时有效,筛选条件发生变化时触发 当前列数据
*/
$emit(eventName: "on-filter-change", value: any): this;
/**
* 单击某一行时触发
* currentRow当前行的数据
* index?: 当前行的索引
*/
$emit(eventName: "on-row-click", currentRow: object, index: number): this;
/**
* 双击某一行时触发
* currentRow当前行的数据
* index?: 当前行的索引
*/
$emit(
eventName: "on-row-dblclick",
currentRow: object,
index: number
): this;
/**
* 展开或收起某一行时触发
* row当前行的数据
* status当前的状态
*/
$emit(eventName: "on-expand", row: object, status: string): this;
/**
* 拖拽排序松开时触发,返回置换的两行数据索引
* index1
* index2
*/
$emit(eventName: "on-drag-drop", index1: number, index2: number): this;
/**
* 导出数据
*/
exportCsv(params: TableExportCsvParams): void;
/**
* 执行改变大小重绘table
*/
handleResize(): void;
/**
* 清除高亮项,仅在开启 highlight-row 时可用
*/
clearCurrentRow(): void;
/**
* slot插槽对象
*/
$slots: {
/**
* 表头
*/
header: VNode[];
/**
* 页脚
*/
footer: VNode[];
/**
* 加载中
*/
loading: VNode[];
};
}
export declare class TableColumn {
/**
* 列类型,可选值为 index、selection、expand、html
*/
type?: "index" | "selection" | "expand" | "html";
/**
* 列头显示文字
* @default #
*/
title?: string;
/**
* 对应列内容的字段名
*/
key?: string;
/**
* 列宽
*/
width?: number;
/**
* 最小列宽
*/
minWidth?: number;
/**
* 最大列宽
*/
maxWidth?: number;
/**
* 对齐方式,可选值为 left 左对齐、right 右对齐和 center 居中对齐,默认 left
* @default left
*/
align?: "left" | "right" | "center";
/**
* 列的样式名称
*/
className?: string;
/**
* 列是否固定在左侧或者右侧,可选值为 left 左侧和 right 右侧
*/
fixed?: "left" | "right";
/**
* 开启后,文本将不换行,超出部分显示为省略号
* @default false
*/
ellipsis?: boolean;
/**
* 开启后,文本将不换行,超出部分显示为省略号,并用 Tooltip 组件显示完整内容
* @default false
*/
tooltip?: boolean;
/**
* 自定义渲染列,使用 Vue 的 Render 函数。
* 传入两个参数,第一个是 h第二个为对象包含 row、column 和 index
* 分别指当前行数据,当前列数据,当前行索引,详见示例。
* 学习 Render 函数的内容 从 rc.18 版本开始,我们将不再支持旧的用法。旧的 render 函数已被废弃。
* @param h Render函数
* @param params 对象,包含 row、column 和 index
*/
render?: (
h?: CreateElement,
params?: TableColumnRenderParams
) => VNode;
/**
* 自定义列头显示内容传入参数有两个column 和 index分别为当前列数据和当前列索引不支持渲染自定义组件
* @param h Render函数
* @param params 对象,包含 row、column 和 index
*/
renderHeader?: (
h?: CreateElement,
params?: TableColumnRenderHeadParams
) => VNode;
/**
* type 为 index 时可用,自定义序号
* @param row 当前行数据
*/
indexMethod?: (row?: object) => string | number;
/**
* 自定义渲染列,使用 slot-scope 写法
* 声明 slot 后,就可以在 Table 的 slot 中使用 slot-scope
*/
slot?: string;
/**
* 对应列是否可以排序,如果设置为 custom则代表用户希望远程排序
* 需要监听 Table 的 on- sort - change 事件,默认false
* @default false
*/
sortable?: boolean | "custom";
/**
* 自定义排序使用的方法,接收三个参数 a 、 b 和 type
* 当设置 sortable?: true 时有效。type 值为 asc 和 desc
*/
sortMethod?: (a: any, b: any, type: "asc" | "desc") => void;
/**
* 设置初始化排序。值为 asc 和 desc
*/
sortType?: "asc" | "desc";
/**
* 过滤数据的选项,格式为数组,数组中每项包含 label 和 value 属性使用过滤必须同时配置filterMethod
*/
filters?: { label: string; value: string | number | boolean }[];
/**
* 数据过滤使用的方法,如果是多选的筛选项,对每一条数据会执行多次,任意一次返回 true 就会显示
*/
filterMethod?: () => void;
/**
* 数据过滤的选项是否多选
* @default true
*/
filterMultiple?: boolean;
/**
* 在初始化时使用过滤,数组,值为需要过滤的 value 集合
*/
filteredValue?: (string | number | boolean)[];
/**
* 使用远程过滤
*/
filterRemote?: () => void;
/**
* 表头分组
*/
children?: object[];
}
export declare class TableRenderCreateElementData {
/**
* 和`v-bind:class`一样的 API
*/
class?: object;
/**
* 和`v-bind:style`一样的 API
*/
style?: object;
/**
* 正常的 HTML 特性
*/
attrs?: object;
/**
* 组件 props
*/
props?: object;
/**
* DOM 属性
*/
domProps?: object;
/**
* 事件监听器基于 "on"
* 所以不再支持如 v-on?:keyup.enter 修饰器
* 需要手动匹配 keyCode。
*/
on?: object;
/**
* 仅对于组件,用于监听原生事件,而不是组件使用 vm.$emit 触发的事件。
*/
nativeOn?: object;
/**
* 自定义指令. 注意事项:不能对绑定的旧值设值
* Vue 会为您持续追踨
*/
directives?: object[];
/**
* 如果子组件有定义 slot 的名称
*/
slot?: string;
/**
* 其他特殊顶层属性,myKey
*/
key?: string;
/**
* myRef
*/
ref?: string;
}
export declare class TableColumnRenderParams {
/**
* 当前行数据
*/
row?: object;
/**
* 当前列数据
*/
column?: object;
/**
* 当前行索引
*/
index?: number;
}
export declare class TableColumnRenderHeadParams {
/**
* 当前列数据
*/
column?: object;
/**
* 当前行索引
*/
index?: number;
}
export declare class TableExportCsvParams {
/**
* 文件名,默认为 table.csv
*/
filename?: string;
/**
* 是否导出为原始数据,默认为 true
*/
original?: boolean;
/**
* 不显示表头,默认为 false
*/
noHeader?: boolean;
/**
* 自定义导出的列数据
*/
columns?: any[];
/**
* 自定义导出的行数据
*/
data?: any[];
/**
* 添加此函数后,不会下载,而是返回数据
*/
callback?: (data?: string) => void;
/**
* 数据分隔符,默认是逗号(,)
* @default ,
*/
separator?: string;
/**
* 每项数据是否加引号
* @default false
*/
quoted?: boolean;
}

97
iview/types/tabs.d.ts vendored Normal file
View File

@@ -0,0 +1,97 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Tabs extends Vue {
/**
* 当前激活 tab 面板的 name可以使用 v-model 双向绑定数据
* @default 默认为第一项的 name
*/
value?: string;
/**
* 页签的基本样式,可选值为 line 和 card
* @default line
*/
type?: 'line' | 'card';
/**
* 尺寸,可选值为 default 和 small仅在 type="line" 时有效
* @default default
*/
size?: 'default' | 'small';
/**
* 是否可以关闭页签,仅在 type="card" 时有效
* @default false
*/
closable?: boolean;
/**
* 是否使用 CSS3 动画
* @default true
*/
animated?: boolean;
/**
* Tabs 内的表单类组件是否自动获得焦点
* @default false
*/
'capture-focus'?: boolean;
/**
* 关闭前的函数,返回 Promise 可阻止标签关闭
*/
'before-remove'?: (index: number) => {};
/**
* 当嵌套使用tabs时指定name区分层级
*/
name?: string;
/**
* tab 被点击时触发
*/
$emit(eventName: 'on-click', name: string): this;
/**
* tab 被关闭时触发
*/
$emit(eventName: 'on-tab-remove', name: string): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 附加内容
*/
extra: VNode[];
};
}
export declare class TabPane extends Vue {
/**
* 用于标识当前面板,对应 value默认为其索引值
*/
name?: string | number;
/**
* 选项卡头显示文字,支持 Render 函数。
* @default 空
*/
label?: string | (() => void);
/**
* 选项卡图标
*/
icon?: string;
/**
* 是否禁用该选项卡
* @default false
*/
disabled?: boolean;
/**
* 是否可以关闭页签,仅在 type="card" 时有效
* @default null
*/
closable?: boolean;
/**
* 当嵌套使用tabs时设置该属性指向对应tabs的name字段
*/
tab?: string;
/**
* 在tabpane使用v-if时并不会按照预先的顺序渲染这时可设置index并从小到大排序(需大于0)
*/
index?: number;
}

48
iview/types/tag.d.ts vendored Normal file
View File

@@ -0,0 +1,48 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Tag extends Vue {
/**
* 标签是否可以关闭
* @default false
*/
closable?: boolean
/**
* 标签是否可以选择
* @default false
*/
checkable?: boolean;
/**
* 标签的选中状态
* @default true
*/
checked?: boolean;
/**
* 标签的样式类型可选值为border、dot或不填
*/
type?: '' | 'border' | 'dot';
/**
* 标签颜色,预设颜色值为
* default、primary、success、warning、error、blue、green、
* red、yellow、pink、magenta、volcano、orange、gold、
* lime、cyan、geekblue、purple
* 你也可以自定义颜色值。
*/
color?: 'default' | 'primary' | 'success' | 'warning' | 'error' | 'blue' | 'green' | 'red' | 'yellow' | 'pink' | 'magenta' | 'volcano' | 'orange' | 'gold' | 'lime' | 'cyan' | 'geekblue' | 'purple';
/**
* 当前标签的名称,使用 v-for并支持关闭时会比较有用
*/
name?: string | number;
/**
* 是否在出现和消失时使用渐变的动画,动画时长可能会引起占位的闪烁
* @default true
*/
fade?: boolean;
/**
* 关闭时触发
*/
$emit(eventName: 'on-close', event: object, name: string): this;
}

169
iview/types/time-picker.d.ts vendored Normal file
View File

@@ -0,0 +1,169 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class TimePicker extends Vue {
/**
* 显示类型,可选值为 time、timerange
* @default time
*/
type?: 'time' | 'timerange';
/**
* 时间,可以是 JavaScript 的 Date例如 new Date(),也可以是标准的时间格式,点击右边查看
* 注意value 使用 v-model 时,值是 Date 类型,可以配合 @on-change 使用
* 名称 说明 示例
* yyyy 年份(四位) 2016
* yy 年份(两位) 16
* MM 月份(两位) 01
* M 月份(一位) 1
* MMMM 月份(英文) January
* MMM 月份(英文简写) Jan
* dd 日期(两位) 01
* d 日期(一位) 1
* Do 日期(简写) 1st
* DD 星期(两位) 00
* D 星期(一位) 0
* dddd 星期(英文) Monday
* ddd 星期(英文简写) Mon
* HH 小时24小时制两位 01
* H 小时24小时制一位 1
* hh 小时12小时制两位 01
* h 小时12小时制一位 1
* mm 分钟(两位) 01
* m 分钟(一位) 1
* ss 秒钟(两位) 01
* s 秒钟(一位) 1
* SSS 毫秒(三位) 019
* SS 毫秒(两位) 01
* S 毫秒(一位) 1
* A 上午与下午(大写) AM/PM
* a 上午与下午(小写) am/pm
* ZZ 时区 +0800
*/
value?: Date;
/**
* 展示的时间格式
* @default HH:mm:ss
* 名称 说明 示例
* yyyy 年份(四位) 2016
* yy 年份(两位) 16
* MM 月份(两位) 01
* M 月份(一位) 1
* MMMM 月份(英文) January
* MMM 月份(英文简写) Jan
* dd 日期(两位) 01
* d 日期(一位) 1
* Do 日期(简写) 1st
* DD 星期(两位) 00
* D 星期(一位) 0
* dddd 星期(英文) Monday
* ddd 星期(英文简写) Mon
* HH 小时24小时制两位 01
* H 小时24小时制一位 1
* hh 小时12小时制两位 01
* h 小时12小时制一位 1
* mm 分钟(两位) 01
* m 分钟(一位) 1
* ss 秒钟(两位) 01
* s 秒钟(一位) 1
* SSS 毫秒(三位) 019
* SS 毫秒(两位) 01
* S 毫秒(一位) 1
* A 上午与下午(大写) AM/PM
* a 上午与下午(小写) am/pm
* ZZ 时区 +0800
*/
format?: string;
/**
* 下拉列表的时间间隔,数组的三项分别对应小时、分钟、秒。
* 例如设置为 [1, 15] 时分钟会显示00、15、30、45。
* @default []
*/
steps?: any[];
/**
* 时间选择器出现的位置,可选值为
* top,top-start,top-end
* bottom,bottom-start,bottom-end
* left,left-start,left-end
* right,right-start,right-end
* @default bottom-start
*/
placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
/**
* 占位文本
* @default 空
*/
placeholder?: string;
/**
* 是否显示底部控制栏
* @default false
*/
confirm?: boolean;
/**
* 手动控制时间选择器的显示状态true 为显示false 为收起。
* 使用该属性后,选择器不会主动关闭。建议配合 slot 及 confirm 和相关事件一起使用,
* @default null
*/
open?: boolean;
/**
* 尺寸可选值为large、small、default或者不设置
*/
size?: '' | 'large' | 'small' | 'default';
/**
* 是否禁用选择器
* @default false
*/
disabled?: boolean;
/**
* 是否显示清除按钮
* @default true
*/
clearable?: boolean;
/**
* 完全只读,开启后不会弹出选择器,只在没有设置 open 属性下生效
* @default false
*/
readonly?: boolean;
/**
* 文本框是否可以输入,只在没有使用 slot 时有效
* @default true
*/
editable?: boolean;
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,
建议添加此属性,它将不受父级样式影响,从而达到更好的效果
* @default false
*/
transfer?: boolean;
/**
* 给表单元素设置 id详见 Form 用法。
*/
'element-id'?: boolean;
/**
* 时间发生变化时触发 已经格式化后的时间,比如 09:41:00
*/
$emit(eventName: 'on-change', value: string): this;
/**
* 弹出浮层和关闭浮层时触发
*/
$emit(eventName: 'on-open-change', value: boolean): this;
/**
* 点击确定按钮时触发
*/
$emit(eventName: 'on-ok'): this;
/**
* 在清空日期时触发
*/
$emit(eventName: 'on-clear'): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义选择器的显示内容,建议与 open 等参数一起使用,详见示例
*/
'': VNode[];
};
}

27
iview/types/time.d.ts vendored Normal file
View File

@@ -0,0 +1,27 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue from 'vue';
export declare class Time extends Vue {
/**
* 需要对比的时间,可以是时间戳或 Date 类型
*/
time?: number |Date |string;
/**
* 类型,可选值为 relative、date 或 datetime
* @default relative
*/
type?: 'relative'|'date'|'datetime';
/**
* 自动更新的间隔,单位:秒
* @default 60
*/
interval?: number;
/**
* 填写该值,点击会定位锚点
* @default false
*/
hash?: string;
}

34
iview/types/timeline.d.ts vendored Normal file
View File

@@ -0,0 +1,34 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Timeline extends Vue {
/**
* 指定是否最后一个节点为幽灵节点
* @default false
*/
pending?: boolean;
}
export declare class TimelineItem extends Vue {
/**
* 圆圈颜色可选值为blue、red、green或自定义色值
* @default blue
*/
color?: 'blue' | 'red' | 'green' | string;
/**
* slot插槽对象
*/
$slots: {
/**
* 基本内容
*/
'': VNode[];
/**
* 自定义时间轴点内容
*/
dot: VNode[];
};
}

91
iview/types/tooltip.d.ts vendored Normal file
View File

@@ -0,0 +1,91 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Tooltip extends Vue {
/**
* 显示的内容
* @default 空
*/
content?: string | number;
/**
* 提示框出现的位置,可选值为
* toptop-starttop-endbottombottom-startbottom-end
* leftleft-startleft-endrightright-startright-end
* 2.12.0 版本开始支持自动识别
* @default bottom
*/
placement?: 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
/**
* 是否禁用提示框
* @default false
*/
disabled?: boolean;
/**
* 延迟显示,单位毫秒
* @default 0
*/
delay?: number;
/**
* 是否总是可见
* @default false
*/
always?: boolean;
/**
* 主题,可选值为 dark 或 light
* @default dark
*/
theme?: string;
/**
* 最大宽度,超出最大值后,文本将自动换行,并两端对齐
*/
'max-width'?: string|number;
/**
* 出现位置的偏移量
* @default 0
*/
offset?: number;
/**
* 是否将弹层放置于 body 内,在 Tabs、带有 fixed 的 Table 列内使用时,
* 建议添加此属性,它将不受父级样式影响,从而达到更好的效果
* @default false
*/
transfer?: boolean;
/**
* 出现位置的偏移量
* @default {
modifiers: {
computeStyle:{
gpuAcceleration: false,
},
preventOverflow :{
boundariesElement: 'window'
}
}
}
*/
options?: object;
/**
* 在提示框显示时触发
*/
$emit(eventName: 'on-popper-show'): this;
/**
* 在提示框消失时触发
*/
$emit(eventName: 'on-popper-hide'): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 主体内容
*/
'': VNode[];
/**
* 提示框的内容,定义此 slot 时,会覆盖 props content。
*/
content: VNode[];
};
}

80
iview/types/transfer.d.ts vendored Normal file
View File

@@ -0,0 +1,80 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Transfer extends Vue {
/**
* 数据源其中的数据将会被渲染到左边一栏中targetKeys 中指定的除外。
* @default []
*/
data?: object[];
/**
* 显示在右侧框数据的key集合
* @default []
*/
targetKeys?: string[];
/**
* 每行数据渲染函数,该函数的入参为 data 中的项
* value?: 默认显示label没有时显示key
*/
'render-format'?: (value?: string) => void;
/**
* 设置哪些项应该被选中
* @default []
*/
'selected-keys'?: string[];
/**
* 两个穿梭框的自定义样式
* @default {}
*/
'list-style'?: object;
/**
* 标题集合,顺序从左至右 Array
* @default ['源列表', '目的列表']
*/
titles?: string[];
/**
* 操作文案集合,顺序从上至下
* @default []
*/
operations?: object[];
/**
* 是否显示搜索框
* @default false
*/
filterable?: object[];
/**
* 搜索框的占位
* @default 请输入搜索内容
*/
'filter-placeholder'?: string;
/**
* 自定义搜索函数,入参为 data 和 querydata 为项query 为当前输入的搜索词
* 默认搜索label
*/
'filter-method'?: (value?: string) => void;
/**
* 当列表为空时显示的内容
* @default 列表为空
*/
'not-found-text'?: string;
/**
* 选项在两栏之间转移时的回调函数
*/
$emit(eventName: 'on-change', targetKeys: string[], direction: string, moveKeys: string[]): this;
/**
* 选项在两栏之间转移时的回调函数
*/
$emit(eventName: 'on-selected-change', sourceSelectedKeys: string[], targetSelectedKeys: string[]): this;
/**
* slot插槽对象
*/
$slots: {
/**
* 自定义底部内容
*/
'': VNode[];
};
}

118
iview/types/tree.d.ts vendored Normal file
View File

@@ -0,0 +1,118 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode, CreateElement } from "vue";
export declare class Tree extends Vue {
/**
* 可嵌套的节点属性的数组,生成 tree 的数据
*/
data?: TreeChild[];
/**
* 是否支持多选
* @default false
*/
multiple?: boolean;
/**
* 是否显示多选框
* @default false
*/
"show-checkbox"?: boolean;
/**
* 没有数据时的提示
* @default 暂无数据
*/
"empty-text"?: string;
/**
* 异步加载数据的方法
*/
"load-data"?: () => void;
/**
* 自定义渲染内容
* @param h Render函数
*/
render?: (h?: CreateElement) => void;
/**
* 定义子节点键
* @default children
*/
"children-key"?: string;
/**
* 在显示复选框的情况下,是否严格的遵循父子不互相关联的做法
* @default false
*/
"check-strictly"?: boolean;
/**
* 开启后,在 show-checkbox 模式下select 的交互也将转为 check
* @default false
*/
"check-directly"?: boolean;
/**
* 点击树节点时触发
* @default 当前已勾选节点的数组、当前项
*/
$emit(eventName: "on-select-change", value: TreeChild[]): this;
/**
* 点击复选框时触发
* @default 当前已勾选节点的数组、当前项
*/
$emit(eventName: "on-check-change", value: TreeChild[]): this;
/**
* 展开和收起子列表时触发
* @default 当前节点的数据
*/
$emit(eventName: "on-toggle-expand", value: TreeChild): this;
/**
* 获取被勾选的节点
*/
getCheckedNodes(): any[];
/**
* 获取被选中的节点
*/
getSelectedNodes(): any[];
/**
* 获取选中及半选节点
*/
getCheckedAndIndeterminateNodes(): any[];
}
export declare class TreeChild extends Vue {
/**
* 标题
*/
title?: string;
/**
* 是否展开直子节点
* @default false
*/
expand?: boolean;
/**
* 禁掉响应
* @default false
*/
disabled?: boolean;
/**
* 禁掉checkbox
* @default false
*/
disableCheckbox?: boolean;
/**
* 是否选中子节点
* @default false
*/
selected?: boolean;
/**
* 是否勾选(如果勾选,子节点也会全部勾选)
* @default false
*/
checked?: boolean;
/**
* 子节点属性数组
*/
children?: TreeChild[];
/**
* 自定义当前节点渲染内容,见示例
*/
render(): void;
}

135
iview/types/upload.d.ts vendored Normal file
View File

@@ -0,0 +1,135 @@
// Type definitions for iview 3.3.1
// Project: https://github.com/iview/iview
// Definitions by: yangdan
// Definitions: https://github.com/yangdan8/iview.git
import Vue, { VNode } from 'vue';
export declare class Upload extends Vue {
/**
* 上传的地址,必填
*/
action?: string;
/**
* 设置上传的请求头部
* @default {}
*/
headers?: object;
/**
* 是否支持多选文件
* @default false
*/
multiple?: boolean;
/**
* 是否支持粘贴上传文件
* @default false
*/
paste?: boolean;
/**
* 是否禁用
* @default false
*/
disabled?: boolean;
/**
* 上传时附带的额外参数
*/
data?: object;
/**
* 上传的文件字段名
* @default file
*/
name?: string;
/**
* 支持发送 cookie 凭证信息
* @default false
*/
'with-credentials'?: boolean;
/**
* 是否显示已上传文件列表
* @default true
*/
'show-upload-list'?: boolean;
/**
* 上传控件的类型,可选值为 select点击选择drag支持拖拽
* @default select
*/
type?: 'select' | 'drag';
/**
* 接受上传的文件类型
*/
accept?: string;
/**
* 支持的文件类型,与 accept 不同的是,
* format 是识别文件的后缀名,
* accept 为 input 标签原生的 accept 属性,
* 会在选择文件时过滤,可以两者结合使用,
* @default []
*/
format?: string[];
/**
* 文件大小限制,单位 kb
*/
'max-size'?: number;
/**
* 上传文件之前的钩子,参数为上传的文件,若返回 false 或者 Promise 则停止上传
*/
'before-upload'?: Function;
/**
* 文件上传时的钩子,返回字段为 event, file, fileList
*/
'on-progress'?: Function;
/**
* 文件上传成功时的钩子,返回字段为 response, file, fileList
*/
'on-success'?: Function;
/**
* 文件上传失败时的钩子,返回字段为 error, file, fileList
*/
'on-error'?: Function;
/**
* 点击已上传的文件链接时的钩子,返回字段为 file 可以通过 file.response 拿到服务端返回数据
*/
'on-preview'?: Function;
/**
* 文件列表移除文件时的钩子,返回字段为 file, fileList
*/
'on-remove'?: Function;
/**
* 文件格式验证失败时的钩子,返回字段为 file, fileList
*/
'on-format-error'?: Function;
/**
* 文件超出指定大小限制时的钩子,返回字段为 file, fileList
*/
'on-exceeded-size'?: Function;
/**
* 默认已上传的文件列表,例如:
* [
* {
* name?: 'img1.jpg',
* url?: 'http://www.xxx.com/img1.jpg'
* },
* {
* name?: 'img2.jpg',
* url?: 'http://www.xxx.com/img2.jpg'
* }
* ]
*/
'default-file-list'?: string[];
/**
* 清空已上传的文件列表
*/
'clearFiles'(): void;
/**
* slot插槽对象
*/
$slots: {
/**
* 触发上传组件的控件
*/
'': VNode[];
/**
* 辅助提示内容
*/
tip: VNode[];
};
}