snail.vue 2.0.27 → 2.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/snail.vue.d.ts +1807 -1732
- package/dist/snail.vue.js +186 -137
- package/dist/snail.vue.umd.js +184 -135
- package/dist/styles/snail.vue.vue.css +6 -6
- package/package.json +1 -1
package/dist/snail.vue.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import * as snail_core from 'snail.core';
|
|
2
|
-
import { DateFormat, DateValue, TimeValue, IScope, RunResult
|
|
3
|
-
import * as snail_view from 'snail.view';
|
|
4
|
-
import { ScrollbarOptions, ScrollStatus, CSSClassOptions, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
|
|
2
|
+
import { DateFormat, DateValue, TimeValue, IAsyncScope, IScope, RunResult } from 'snail.core';
|
|
5
3
|
import * as vue from 'vue';
|
|
6
4
|
import { Component, ShallowRef, Ref, WatchSource, App } from 'vue';
|
|
5
|
+
import * as snail_view from 'snail.view';
|
|
6
|
+
import { ScrollbarOptions, ScrollStatus, CSSClassOptions, BaseStyle, HeightStyle, FlexBoxStyle, WidthStyle, BorderStyle, PaddingStyle, MarginStyle } from 'snail.view';
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* loading提示框的配置选项
|
|
@@ -212,6 +212,12 @@ type DatePickerOptions = {
|
|
|
212
212
|
* - 默认 “yyyy-MM-dd"
|
|
213
213
|
*/
|
|
214
214
|
format?: DateFormat;
|
|
215
|
+
/**
|
|
216
|
+
* 渲染模式
|
|
217
|
+
* - default 默认模式,文本框+图标,文本框填充满+边框
|
|
218
|
+
* - simple 简单模式,有值时才显示文本框,且无边框+不填充满
|
|
219
|
+
*/
|
|
220
|
+
mode?: "default" | "simple";
|
|
215
221
|
/**
|
|
216
222
|
* 日期最小值
|
|
217
223
|
* - 选择年月日时,早于此值的年月日不可选
|
|
@@ -249,6 +255,12 @@ type TimePickerOptions = {
|
|
|
249
255
|
* 时间格式
|
|
250
256
|
*/
|
|
251
257
|
format?: "HH:mm:ss" | "HH:mm";
|
|
258
|
+
/**
|
|
259
|
+
* 渲染模式
|
|
260
|
+
* - default 默认模式,文本框+图标,文本框填充满+边框
|
|
261
|
+
* - simple 简单模式,有值时才显示文本框,且无边框+不填充满
|
|
262
|
+
*/
|
|
263
|
+
mode?: "default" | "simple";
|
|
252
264
|
/**
|
|
253
265
|
* 最小时间
|
|
254
266
|
* - 传入值格式为 "时:分:秒"
|
|
@@ -313,6 +325,188 @@ type TimePickerMinuteItem = Required<Pick<TimeValue, "minute" | "hour"> & Disabl
|
|
|
313
325
|
*/
|
|
314
326
|
type TimePickerSecondItem = Required<TimeValue & DisabledOptions>;
|
|
315
327
|
|
|
328
|
+
/**
|
|
329
|
+
* 组件配置选项
|
|
330
|
+
*/
|
|
331
|
+
type ComponentOptions = {
|
|
332
|
+
/**
|
|
333
|
+
* 组件名称;
|
|
334
|
+
* - 确保组件已注册,否则会加载不出来
|
|
335
|
+
*/
|
|
336
|
+
name?: string;
|
|
337
|
+
/**
|
|
338
|
+
* Vue组件对象
|
|
339
|
+
* - name未传入时生效
|
|
340
|
+
* - 推荐外部使用 shallowRef 包裹对象,避免响应式的性能问题
|
|
341
|
+
*/
|
|
342
|
+
component?: Component;
|
|
343
|
+
/**
|
|
344
|
+
* 组件js文件url地址
|
|
345
|
+
* - 支持#号锚点钻取
|
|
346
|
+
* - name、component未传入时生效
|
|
347
|
+
*/
|
|
348
|
+
url?: string;
|
|
349
|
+
};
|
|
350
|
+
/**
|
|
351
|
+
* 提取组件的props类型
|
|
352
|
+
* - 有效的 Props 类型:extends Record<string, any>
|
|
353
|
+
* - 有效类型则返回 Props 自身;否则无效,为undefined
|
|
354
|
+
*/
|
|
355
|
+
type PropsType<Props> = Props extends Record<string, any> ? Props : undefined;
|
|
356
|
+
/**
|
|
357
|
+
* 事件发射器类型
|
|
358
|
+
* - 将【组件中组件】转换为vue的 defineEmits 类型
|
|
359
|
+
* - 用于将组件的事件发射器包裹传递到其他组件、class中使用
|
|
360
|
+
*/
|
|
361
|
+
type EmitterType<Events extends Record<string, any[]>> = {
|
|
362
|
+
<K extends keyof Events>(event: K, ...payload: Events[K]): any;
|
|
363
|
+
};
|
|
364
|
+
/**
|
|
365
|
+
* 提取【组件插槽】类型
|
|
366
|
+
*/
|
|
367
|
+
type SlotsType<Slots extends Record<string, any>> = {
|
|
368
|
+
[key in keyof Slots]: (props: Slots[key]) => any;
|
|
369
|
+
};
|
|
370
|
+
/**
|
|
371
|
+
* 提取【组件事件】类型
|
|
372
|
+
* - 将【组件事件】中的key首字母小写,追加上on前缀;key对应的value为监听函数参数
|
|
373
|
+
* - T的类型约束:Record<string, unknown[]>
|
|
374
|
+
*/
|
|
375
|
+
type EventsType<Events> = Events extends Record<string, unknown[]> ? ({
|
|
376
|
+
[key in keyof Events as `on${Capitalize<string & key>}`]?: (...args: Events[key]) => void;
|
|
377
|
+
}) : never;
|
|
378
|
+
/**
|
|
379
|
+
* 组件绑定 配置选项
|
|
380
|
+
* - Props、Events、Model 为可选泛型,分别约束 props、events、model 属性
|
|
381
|
+
* - 若泛型类型无效,则对应属性类型强制为undefined;详细参照对应属性说明
|
|
382
|
+
*/
|
|
383
|
+
type ComponentBindOptions<Props = void, Model = void> = {
|
|
384
|
+
/**
|
|
385
|
+
* 传递给组件的属性值,执行 v-bind 绑定
|
|
386
|
+
* - key为属性名称,遵循vue解析规则;若绑定事件,则key为 on事件名称 ,事件名称首字母大写
|
|
387
|
+
* - 通过泛型类型 Props 约束,有效类型:Props extends Record<string, any>
|
|
388
|
+
* @see EventsType<Events> 获取组件事件类型
|
|
389
|
+
*/
|
|
390
|
+
props?: PropsType<Props>;
|
|
391
|
+
/**
|
|
392
|
+
* 传递给组件的双向绑定数据,执行 v-model 绑定
|
|
393
|
+
* - 使用 ShallowRef/Ref 包裹;推荐 ShallowRef,仅和组件进行.value值交互,避免深层双向影响性能
|
|
394
|
+
* - 通过泛型类型 Model 约束,有效类型: 非void、never、null、undefined等无效类型
|
|
395
|
+
*/
|
|
396
|
+
model?: Model extends (void | never | null | undefined) ? undefined : (ShallowRef<Model> | Ref<Model>);
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
/**
|
|
400
|
+
* 公共通用数据结构:
|
|
401
|
+
* 1、在弹窗、模态弹窗、跟随弹窗的效果下复用
|
|
402
|
+
*/
|
|
403
|
+
|
|
404
|
+
/**
|
|
405
|
+
* 弹窗配置选项
|
|
406
|
+
* - 约束弹出组件信息
|
|
407
|
+
* - 弹出组件时传递的参数信息
|
|
408
|
+
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
409
|
+
*/
|
|
410
|
+
type PopupOptions<Props = void, Model = void> = ComponentOptions & ComponentBindOptions<Props, Model> & {
|
|
411
|
+
/**
|
|
412
|
+
* 弹窗动画名
|
|
413
|
+
* - 不传则默认“fade”
|
|
414
|
+
* - 动画规则:打开弹窗时,为 [transition]-in ;关闭弹窗时,为[transition]-out
|
|
415
|
+
* - - 传入 "scale",则打开弹窗为 "scale-in";关闭弹窗时为 "scale-out"
|
|
416
|
+
*/
|
|
417
|
+
transition?: string;
|
|
418
|
+
/**
|
|
419
|
+
* 动画持续时间
|
|
420
|
+
* - 配合 transition 使用;单位ms,默认500ms
|
|
421
|
+
* - 外部传入自定义动画时,传入动画持续时间,否则可能导致关闭时动画失效
|
|
422
|
+
*/
|
|
423
|
+
transitionDuration?: number;
|
|
424
|
+
/**
|
|
425
|
+
* 自定义class
|
|
426
|
+
* - 绑定到内容组件根元素上
|
|
427
|
+
* - 可以直接在props中指定,无需特殊设置
|
|
428
|
+
class?: string | string[];
|
|
429
|
+
*/
|
|
430
|
+
/**
|
|
431
|
+
* 自定义style
|
|
432
|
+
* - 绑定到内容组件根元素上
|
|
433
|
+
* - 可以直接在props中指定,无需特殊设置
|
|
434
|
+
style?: AllStyle;
|
|
435
|
+
*/
|
|
436
|
+
/**
|
|
437
|
+
* 弹窗的z-index值
|
|
438
|
+
* - 无特殊情况,建议不指定,内部会自动生成,确保弹窗正确性
|
|
439
|
+
*/
|
|
440
|
+
zIndex?: number;
|
|
441
|
+
};
|
|
442
|
+
/**
|
|
443
|
+
* 弹出组件句柄
|
|
444
|
+
*/
|
|
445
|
+
type PopupHandle<T> = {
|
|
446
|
+
/**
|
|
447
|
+
* 组件是否在【弹出窗口】中
|
|
448
|
+
* - popup : 普通弹出弹窗
|
|
449
|
+
* - dialog : 模态对话弹窗
|
|
450
|
+
* - follow : 跟随效果弹窗
|
|
451
|
+
*/
|
|
452
|
+
inPopup: Readonly<"popup" | "dialog" | "follow">;
|
|
453
|
+
/**
|
|
454
|
+
* 关闭弹窗
|
|
455
|
+
* @param data 关闭时传递数据
|
|
456
|
+
*/
|
|
457
|
+
closePopup(data?: T): void;
|
|
458
|
+
};
|
|
459
|
+
/**
|
|
460
|
+
* 弹窗状态:响应式
|
|
461
|
+
* - open 打开
|
|
462
|
+
* - active 激活,针对Dialog弹窗生效
|
|
463
|
+
* - unactive 非激活,针对Dialog弹窗生效
|
|
464
|
+
* - closed 关闭
|
|
465
|
+
*/
|
|
466
|
+
type PopupStatus = ShallowRef<"open" | "active" | "unactive" | "closed">;
|
|
467
|
+
/**
|
|
468
|
+
* 弹窗状态 配置选项
|
|
469
|
+
*/
|
|
470
|
+
type PopupStatusOptions = {
|
|
471
|
+
/**
|
|
472
|
+
* 弹窗状态:响应式
|
|
473
|
+
*/
|
|
474
|
+
popupStatus: PopupStatus;
|
|
475
|
+
};
|
|
476
|
+
/**
|
|
477
|
+
* 弹窗对象描述器
|
|
478
|
+
* - 给弹窗容器使用,传递过去作为props使用
|
|
479
|
+
*/
|
|
480
|
+
type PopupDescriptor<Options extends PopupOptions, ExtOptions> = PopupStatusOptions & {
|
|
481
|
+
/**
|
|
482
|
+
* 弹窗Id
|
|
483
|
+
* - 自动分配,全局唯一
|
|
484
|
+
*/
|
|
485
|
+
popupId: string;
|
|
486
|
+
/**
|
|
487
|
+
* 弹窗配置选项
|
|
488
|
+
* - 由外部传递过来的业务数据配置信息
|
|
489
|
+
* - 约束具体弹窗的业务组件和业务组件所需props等数据
|
|
490
|
+
*/
|
|
491
|
+
options: Options;
|
|
492
|
+
/**
|
|
493
|
+
* 弹窗扩展配置选项
|
|
494
|
+
* - 由 popup、follow等方法内部组件:如关闭弹窗方法、钩子函数等
|
|
495
|
+
* - 配合业务组件使用的一些配置数据
|
|
496
|
+
*/
|
|
497
|
+
extOptions: ExtOptions;
|
|
498
|
+
/**
|
|
499
|
+
* 实际分配的zIndex值
|
|
500
|
+
*/
|
|
501
|
+
zIndex: number;
|
|
502
|
+
/**
|
|
503
|
+
* 弹窗动画名
|
|
504
|
+
* - 约束打开、关闭动画;基于 PopupOptions.transition 构建出来的
|
|
505
|
+
* - 具体使用方,将此值绑定的根元素上
|
|
506
|
+
*/
|
|
507
|
+
popupTransition: ShallowRef<string>;
|
|
508
|
+
};
|
|
509
|
+
|
|
316
510
|
/**
|
|
317
511
|
* 头部配置选项
|
|
318
512
|
* - title 将作为头部标题,无则不展示标题区域
|
|
@@ -470,2391 +664,2240 @@ type WrapperOptions = {
|
|
|
470
664
|
type WrapperEvents = FooterEvents;
|
|
471
665
|
|
|
472
666
|
/**
|
|
473
|
-
*
|
|
474
|
-
* 1、封装一些基础实体;如树形节点数据结构
|
|
475
|
-
* 2、配合树形组件使用;如select的多级筛选,树组件等
|
|
476
|
-
* 3、封装树的基础共性操作,如显隐判断、搜索查询等
|
|
477
|
-
*/
|
|
478
|
-
/**
|
|
479
|
-
* 树节点
|
|
480
|
-
* - 仅提供树节点基础属性;可以基于 Extend 为 TreeNode 扩展节点属性
|
|
667
|
+
* 模态弹窗数据结构
|
|
481
668
|
*/
|
|
482
|
-
|
|
483
|
-
/**
|
|
484
|
-
* 展示文本
|
|
485
|
-
*/
|
|
486
|
-
text: string;
|
|
487
|
-
/**
|
|
488
|
-
* 附带数据
|
|
489
|
-
*/
|
|
490
|
-
data?: T;
|
|
491
|
-
/**
|
|
492
|
-
* 子选择项 数据源
|
|
493
|
-
*/
|
|
494
|
-
children?: TreeNode<T, Extend>[];
|
|
495
|
-
} & (Extend extends void ? {} : Extend);
|
|
669
|
+
|
|
496
670
|
/**
|
|
497
|
-
*
|
|
498
|
-
* -
|
|
671
|
+
* 模态弹窗 配置选项
|
|
672
|
+
* - 继承 ComponentOptions ,动态加载组件
|
|
673
|
+
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
499
674
|
*/
|
|
500
|
-
type
|
|
675
|
+
type DialogOptions<Props = void, Model = void> = PopupOptions<Props, Model> & {
|
|
501
676
|
/**
|
|
502
|
-
*
|
|
503
|
-
* -
|
|
677
|
+
* 包裹器配置
|
|
678
|
+
* - 若传入配置,则启用弹窗包裹;弹窗打开时使用`Wrapper`包裹弹窗内容组件
|
|
504
679
|
*/
|
|
505
|
-
|
|
680
|
+
wrapper?: Pick<WrapperOptions, "header" | "content" | "footer">;
|
|
506
681
|
/**
|
|
507
|
-
*
|
|
508
|
-
* -
|
|
509
|
-
|
|
682
|
+
* 禁用【遮罩层】
|
|
683
|
+
* - 目前没实现,先忽略
|
|
684
|
+
maskDisabled?: boolean;
|
|
510
685
|
*/
|
|
511
|
-
clickable?: boolean;
|
|
512
686
|
/**
|
|
513
|
-
*
|
|
514
|
-
* -
|
|
687
|
+
* 点击【遮罩层】时是否关闭弹窗
|
|
688
|
+
* - 针对无遮罩层的弹窗,则点击非【弹窗组件】区域时是否关闭
|
|
515
689
|
*/
|
|
516
|
-
|
|
690
|
+
closeOnMask?: boolean;
|
|
517
691
|
/**
|
|
518
|
-
*
|
|
519
|
-
* - true 隐藏 节点 和 子节点
|
|
520
|
-
* - 隐藏组件,不参与点击、搜索等
|
|
692
|
+
* 按下【ESC】健时是否关闭弹窗
|
|
521
693
|
*/
|
|
522
|
-
|
|
694
|
+
closeOnEscape?: boolean;
|
|
523
695
|
/**
|
|
524
|
-
*
|
|
525
|
-
* -
|
|
696
|
+
* 模态弹窗的自定义class
|
|
697
|
+
* - 绑定到模态弹窗的根元素上
|
|
526
698
|
*/
|
|
527
|
-
|
|
699
|
+
rootClass?: string | string[];
|
|
528
700
|
};
|
|
529
701
|
/**
|
|
530
|
-
*
|
|
702
|
+
* 弹窗组件句柄
|
|
703
|
+
* - 用于在弹窗内容组件中进行模式判断和关闭
|
|
531
704
|
*/
|
|
532
|
-
|
|
533
|
-
/**
|
|
534
|
-
* 执行搜索
|
|
535
|
-
* @param text 搜索文本
|
|
536
|
-
*/
|
|
537
|
-
doSearch(text: string): void;
|
|
538
|
-
/**
|
|
539
|
-
* 是否是【已激活】节点
|
|
540
|
-
* @param node 要判断的节点
|
|
541
|
-
* @returns true 是已激活节点,false 否
|
|
542
|
-
*/
|
|
543
|
-
isActived(node: TreeNode<T>): boolean;
|
|
544
|
-
/**
|
|
545
|
-
* 是否是【补丁】节点
|
|
546
|
-
* - 子节点搜索命中时,父级路径上节点没命中,则作父级路径节点作为路径修补节点存在,避免命中子节点展示不出来
|
|
547
|
-
* @param node 要判断的节点
|
|
548
|
-
* @returns true 是补丁节点,false 不是补丁节点
|
|
549
|
-
*/
|
|
550
|
-
isPatched(node: TreeNode<T>): boolean;
|
|
551
|
-
/**
|
|
552
|
-
* 是否显示【树节点】
|
|
553
|
-
* @param node 要判断的节点
|
|
554
|
-
* @param needPatched 是否需要【补丁】节点。true时(补丁节点始终显示);false时(根据hidden和搜索结果判断)
|
|
555
|
-
* @returns 能显示返回true;否则返回false
|
|
556
|
-
*/
|
|
557
|
-
isShow(node: TreeNode<T, TreeNodeExtend>, needPatched: boolean): boolean;
|
|
558
|
-
/**
|
|
559
|
-
* 是否显示指定【树节点】的子节点
|
|
560
|
-
* - 不会判断node节点自身是否可显示
|
|
561
|
-
* @param node 要判断的节点
|
|
562
|
-
* @param needPatched 是否需要【补丁】节点。true时(补丁节点始终显示);false时(根据hidden和搜索结果判断)
|
|
563
|
-
* @returns 能显示返回true;否则返回false
|
|
564
|
-
*/
|
|
565
|
-
isShowChildren(node: TreeNode<T, TreeNodeExtend>, needPatched: boolean): boolean;
|
|
566
|
-
/**
|
|
567
|
-
* 获取指定【树节点】的路径
|
|
568
|
-
* @param node 树节点
|
|
569
|
-
* @returns 从【顶级节点】->【指定节点】的全路径数据
|
|
570
|
-
*/
|
|
571
|
-
getPath(node: TreeNode<T, TreeNodeExtend>): TreeNode<T, TreeNodeExtend>[];
|
|
572
|
-
/**
|
|
573
|
-
* 获取指定【树节点】的唯一Key值
|
|
574
|
-
* - 相同节点确保唯一,且不变;用于唯一标记此节点
|
|
575
|
-
* @param node
|
|
576
|
-
* @returns 返回节点唯一Key值
|
|
577
|
-
*/
|
|
578
|
-
getKey(node: TreeNode<T>): string;
|
|
579
|
-
}
|
|
580
|
-
/**
|
|
581
|
-
* 树搜索结果
|
|
582
|
-
*/
|
|
583
|
-
type TreeSearchResult<T> = {
|
|
584
|
-
/**
|
|
585
|
-
* 匹配上的节点集合
|
|
586
|
-
*/
|
|
587
|
-
matched: TreeNode<T>[];
|
|
588
|
-
/**
|
|
589
|
-
* 未匹配上的节点集合
|
|
590
|
-
*/
|
|
591
|
-
failed: TreeNode<T>[];
|
|
592
|
-
/**
|
|
593
|
-
* 搜索时的【补丁】节点集合
|
|
594
|
-
* - 子节点搜索命中时,父级路径上节点没命中,则作父级路径节点作为路径修补节点存在,避免命中子节点展示不出来
|
|
595
|
-
* - 仅在有搜索条件时成立,补丁节点同时在【failed】节点集合中
|
|
596
|
-
*/
|
|
597
|
-
patched: TreeNode<T>[];
|
|
598
|
-
};
|
|
599
|
-
|
|
600
|
-
/**
|
|
601
|
-
* 搜索组件配置选项
|
|
602
|
-
*/
|
|
603
|
-
type SearchOptions = ReadonlyOptions & PlaceholderOptions & {
|
|
705
|
+
type DialogHandle<T> = PopupHandle<T> & {
|
|
604
706
|
/**
|
|
605
|
-
*
|
|
606
|
-
* -
|
|
607
|
-
*
|
|
707
|
+
* 注册监听【弹窗关闭】事件方法
|
|
708
|
+
* - 仅支持注册一次,多次注册以最后一次的为准
|
|
709
|
+
* @param fn 关闭时执行的钩子函数,支持异步;;调用后若返回false时将阻止弹窗关闭
|
|
608
710
|
*/
|
|
609
|
-
|
|
711
|
+
onBeforeClose(fn: (data?: T) => false | undefined | Promise<false | undefined>): void;
|
|
610
712
|
};
|
|
611
713
|
/**
|
|
612
|
-
*
|
|
714
|
+
* 弹窗包裹器操作句柄
|
|
613
715
|
*/
|
|
614
|
-
type
|
|
716
|
+
type DialogWrapperHandle<T> = {
|
|
615
717
|
/**
|
|
616
|
-
*
|
|
617
|
-
*
|
|
718
|
+
* 注册【构建数据】事件方法
|
|
719
|
+
* - 仅在Dialog为使用了wrapper模式时生效,用于在【确认】按钮点击时,构建实际内容组件中的数据
|
|
720
|
+
* - 仅支持注册一次,多次注册以最后一次的为准
|
|
721
|
+
* @param fn 取数据时执行的钩子函数,支持异步;若需要阻止弹窗关闭则`fn`方法直接报错即可
|
|
618
722
|
*/
|
|
619
|
-
|
|
723
|
+
onBuildData(fn: () => T | Promise<T>): void;
|
|
620
724
|
};
|
|
621
725
|
|
|
622
726
|
/**
|
|
623
|
-
*
|
|
624
|
-
* -
|
|
727
|
+
* 确认弹窗配置选项
|
|
728
|
+
* - title 弹窗标题,默认“提示”
|
|
729
|
+
* - message 确认提示信息;默认“请确认?”;支持html格式内容
|
|
625
730
|
*/
|
|
731
|
+
type ConfirmOptions = TitleOptions & MessageOptions & ConfirmAreaOptions & {};
|
|
626
732
|
|
|
627
733
|
/**
|
|
628
|
-
*
|
|
734
|
+
* 图标配置选项
|
|
735
|
+
* - title 作为鼠标移入图标时的提示
|
|
629
736
|
*/
|
|
630
|
-
type
|
|
631
|
-
/**
|
|
632
|
-
* 树节点 集合
|
|
633
|
-
*/
|
|
634
|
-
nodes: TreeNodeModel<T>[];
|
|
737
|
+
type IconOptions = TitleOptions & {
|
|
635
738
|
/**
|
|
636
|
-
*
|
|
637
|
-
* -
|
|
739
|
+
* 是否为自定义图标
|
|
740
|
+
* - 为true时,外部通过插槽自己绘制图标
|
|
741
|
+
* - 为false时,使用`type`值绘制对应的内置图标
|
|
742
|
+
* - 默认false
|
|
638
743
|
*/
|
|
639
|
-
|
|
744
|
+
custom?: boolean;
|
|
640
745
|
/**
|
|
641
|
-
*
|
|
746
|
+
* 内置的图标类型
|
|
747
|
+
* - `custom`为false时生效
|
|
642
748
|
*/
|
|
643
|
-
|
|
644
|
-
};
|
|
645
|
-
/**
|
|
646
|
-
* 树组件事件
|
|
647
|
-
*/
|
|
648
|
-
type TreeEvents<T> = TreeNodeEvents<T> & {
|
|
749
|
+
type?: IconType;
|
|
649
750
|
/**
|
|
650
|
-
*
|
|
651
|
-
*
|
|
751
|
+
* 是否是按钮图标
|
|
752
|
+
* - true时,鼠标移入时 cursor:pointer;
|
|
652
753
|
*/
|
|
653
|
-
|
|
654
|
-
};
|
|
655
|
-
/**
|
|
656
|
-
* 树节点 组件配置选项
|
|
657
|
-
*/
|
|
658
|
-
type TreeNodeOptions<T> = {
|
|
754
|
+
button?: boolean;
|
|
659
755
|
/**
|
|
660
|
-
*
|
|
756
|
+
* 图标大小
|
|
757
|
+
* - 可指定对象,如 { width: 24, height: 24 },则图标大小为 24 * 24
|
|
758
|
+
* - 可指定数字,如 24,则图标大小为 24 * 24
|
|
759
|
+
* - 默认 24
|
|
661
760
|
*/
|
|
662
|
-
|
|
761
|
+
size?: number | {
|
|
762
|
+
width?: number;
|
|
763
|
+
height?: number;
|
|
764
|
+
};
|
|
663
765
|
/**
|
|
664
|
-
*
|
|
766
|
+
* 图标颜色
|
|
665
767
|
*/
|
|
666
|
-
|
|
768
|
+
color?: string;
|
|
667
769
|
/**
|
|
668
|
-
*
|
|
669
|
-
* - 用于控制缩进
|
|
770
|
+
* 鼠标移入时的图标颜色
|
|
670
771
|
*/
|
|
671
|
-
|
|
772
|
+
hoverColor?: string;
|
|
672
773
|
/**
|
|
673
|
-
*
|
|
774
|
+
* 旋转角度
|
|
775
|
+
* - 默认0
|
|
776
|
+
* - 通过:transform: rotate(1.06); 实现
|
|
674
777
|
*/
|
|
675
|
-
|
|
778
|
+
rotate?: number;
|
|
676
779
|
/**
|
|
677
|
-
*
|
|
780
|
+
* 图标透明度
|
|
781
|
+
* - 不传入,默认1
|
|
678
782
|
*/
|
|
679
|
-
|
|
680
|
-
};
|
|
681
|
-
/**
|
|
682
|
-
* 树节点事件
|
|
683
|
-
*/
|
|
684
|
-
type TreeNodeEvents<T> = {
|
|
783
|
+
opacity?: number;
|
|
685
784
|
/**
|
|
686
|
-
*
|
|
687
|
-
* @param node 点击的树节点
|
|
688
|
-
* @param parents node的父节点路径,从【顶级父节点】->【直属父节点】
|
|
785
|
+
* 图标边样式
|
|
689
786
|
*/
|
|
690
|
-
|
|
691
|
-
};
|
|
692
|
-
/**
|
|
693
|
-
* 树节点数据结构
|
|
694
|
-
* - 简化外部使用 树节点 时需要频繁写 TreeNode<T, TreeNodeExtend>;
|
|
695
|
-
* - 避免和 Vue 组件“tree-node.vue”命名重复
|
|
696
|
-
* - 推荐使用时,将此对象做响应式,否则 .hidden 等 更新时,无法实时反应到树上
|
|
697
|
-
*/
|
|
698
|
-
type TreeNodeModel<T> = TreeNode<T, TreeNodeExtend>;
|
|
699
|
-
/**
|
|
700
|
-
* 树节点 渲染配置选项
|
|
701
|
-
*/
|
|
702
|
-
type TreeNodeRenderOptions = {
|
|
787
|
+
border?: string;
|
|
703
788
|
/**
|
|
704
|
-
*
|
|
705
|
-
* - 不传入则默认展开所有
|
|
706
|
-
* - 否则展开传入的层级;从2开始;第一级始终展开;如2则1、2层级展开
|
|
707
|
-
* -
|
|
789
|
+
* 图标圆角样式
|
|
708
790
|
*/
|
|
709
|
-
|
|
791
|
+
radius?: string;
|
|
710
792
|
/**
|
|
711
|
-
*
|
|
712
|
-
* - true 时禁用 折叠操作
|
|
793
|
+
* 图标背景样式
|
|
713
794
|
*/
|
|
714
|
-
|
|
795
|
+
background?: string;
|
|
715
796
|
/**
|
|
716
|
-
*
|
|
717
|
-
* -
|
|
718
|
-
* -
|
|
797
|
+
* 图形伸展
|
|
798
|
+
* - svg.viewBox 属性
|
|
799
|
+
* - 为空则默认“0 0 1024 1024”
|
|
719
800
|
*/
|
|
720
|
-
|
|
801
|
+
viewBox?: string;
|
|
721
802
|
};
|
|
722
803
|
/**
|
|
723
|
-
*
|
|
804
|
+
* 图标类型
|
|
805
|
+
* - 状态类:
|
|
806
|
+
* - - success 成功图标,对勾
|
|
807
|
+
* - - error 错误
|
|
808
|
+
* - - warn 警告图标
|
|
809
|
+
* - 操作类:
|
|
810
|
+
* - - close 关闭 用作数据删除,弹窗关闭
|
|
811
|
+
* - - trash 垃圾桶图标,常用于【删除】操作
|
|
812
|
+
* - - download 下载
|
|
813
|
+
* - - print 打印
|
|
814
|
+
* - - edit 编辑
|
|
815
|
+
* - - pause 暂停,两道竖线
|
|
816
|
+
* - 指向类:
|
|
817
|
+
* - - arrow 向右箭头
|
|
818
|
+
* - - datepicker 日期选择器
|
|
819
|
+
* - - timepicker 时间选择器
|
|
820
|
+
* - 其他类:
|
|
821
|
+
* - - plus 加号
|
|
822
|
+
* - - subtract 减号
|
|
823
|
+
* - - more 更多,默认垂直三个点
|
|
824
|
+
* - - grip 紧握图标,垂直方向,一般用于拖动句柄
|
|
724
825
|
*/
|
|
725
|
-
type
|
|
726
|
-
|
|
727
|
-
|
|
728
|
-
|
|
729
|
-
|
|
826
|
+
type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "pause" | "arrow" | "datepicker" | "timepicker" | "plus" | "subtract" | "more" | "grip";
|
|
827
|
+
|
|
828
|
+
/**
|
|
829
|
+
* Toast配置选项
|
|
830
|
+
*/
|
|
831
|
+
type ToastOptions = {
|
|
730
832
|
/**
|
|
731
|
-
*
|
|
833
|
+
* 提示类型,基于类型展示图标
|
|
732
834
|
*/
|
|
733
|
-
|
|
835
|
+
type?: IconType;
|
|
734
836
|
/**
|
|
735
|
-
*
|
|
837
|
+
* 提示消息;支持html格式
|
|
736
838
|
*/
|
|
737
|
-
|
|
839
|
+
message: string;
|
|
738
840
|
/**
|
|
739
|
-
*
|
|
841
|
+
* 提示显示时间
|
|
842
|
+
* - 单位毫秒,默认1500ms
|
|
740
843
|
*/
|
|
741
|
-
|
|
844
|
+
duration?: number;
|
|
742
845
|
/**
|
|
743
|
-
*
|
|
846
|
+
* 关闭按钮是否禁用
|
|
744
847
|
*/
|
|
745
|
-
|
|
848
|
+
closeDisabled?: boolean;
|
|
746
849
|
};
|
|
747
850
|
|
|
748
851
|
/**
|
|
749
|
-
*
|
|
852
|
+
* 跟随效果 弹窗
|
|
750
853
|
*/
|
|
751
|
-
|
|
752
|
-
/**
|
|
753
|
-
* 是否启用表格边框
|
|
754
|
-
*/
|
|
755
|
-
border?: boolean;
|
|
756
|
-
/**
|
|
757
|
-
* 表头样式
|
|
758
|
-
* - 约束高度和背景颜色
|
|
759
|
-
* - 后期再增加其他的
|
|
760
|
-
*/
|
|
761
|
-
headerStyle?: BaseStyle & HeightStyle;
|
|
762
|
-
/**
|
|
763
|
-
* 表尾部样式
|
|
764
|
-
* - 约束高度和背景颜色
|
|
765
|
-
* - 后期再增加其他的
|
|
766
|
-
*/
|
|
767
|
-
footerStyle?: BaseStyle & HeightStyle;
|
|
768
|
-
};
|
|
769
|
-
/**
|
|
770
|
-
* Table 行配置选项
|
|
771
|
-
*/
|
|
772
|
-
type TableRowOptions = HeightStyle & {};
|
|
854
|
+
|
|
773
855
|
/**
|
|
774
|
-
*
|
|
775
|
-
* -
|
|
856
|
+
* 跟随弹窗 配置选项
|
|
857
|
+
* - 传入的组件,根据配置跟随 target 位置和大小;
|
|
858
|
+
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
776
859
|
*/
|
|
777
|
-
type
|
|
778
|
-
|
|
860
|
+
type FollowOptions<Props = void, Model = void> = PopupOptions<Props, Model> & FollowPositionOptions;
|
|
779
861
|
/**
|
|
780
|
-
*
|
|
781
|
-
* -
|
|
862
|
+
* 跟随位置 配置选项
|
|
863
|
+
* - 基于此计算出最终的跟随效果
|
|
782
864
|
*/
|
|
783
|
-
type
|
|
784
|
-
/**
|
|
785
|
-
* 变化器
|
|
786
|
-
* - 在此元素值发生变化时,重新刷新排序面板
|
|
787
|
-
* - 如在增加元素时,改变此值实现 新元素 可拖拽排序
|
|
788
|
-
*/
|
|
789
|
-
changer: T;
|
|
790
|
-
/**
|
|
791
|
-
* 拖动哪个元素
|
|
792
|
-
* - 传入类样式选择器;如 .table-row
|
|
793
|
-
*/
|
|
794
|
-
draggable: string;
|
|
865
|
+
type FollowPositionOptions = {
|
|
795
866
|
/**
|
|
796
|
-
*
|
|
797
|
-
* -
|
|
798
|
-
* -
|
|
799
|
-
* -
|
|
867
|
+
* 启用【宽度】跟随
|
|
868
|
+
* - 为true则和 target 宽度保持一致
|
|
869
|
+
* - false时,宽度由 弹出组件 自己维护
|
|
870
|
+
* - 不管是true、还是false,若宽度超过浏览器最大宽度,会进行强制干预
|
|
800
871
|
*/
|
|
801
|
-
|
|
872
|
+
followWidth?: boolean;
|
|
802
873
|
/**
|
|
803
|
-
*
|
|
804
|
-
* -
|
|
805
|
-
* -
|
|
806
|
-
* -
|
|
874
|
+
* 启用【高度】跟随
|
|
875
|
+
* - 为true则和 target 高度保持一致
|
|
876
|
+
* - false时,高度由 弹出组件 自己维护
|
|
877
|
+
* - 不管是true、还是false,若高度超过浏览器最大高度,会进行强制干预
|
|
807
878
|
*/
|
|
808
|
-
|
|
879
|
+
followHeight?: boolean;
|
|
809
880
|
/**
|
|
810
|
-
*
|
|
811
|
-
* -
|
|
812
|
-
* -
|
|
881
|
+
* x轴方向上的跟随策略
|
|
882
|
+
* - 支持传入一个或者多个,依次尝试选举最优位置(全宽度展示,否则取最大宽度位置)
|
|
883
|
+
* - 不传入则按照默认策略;["start","end","after","before","center","ratio"]
|
|
884
|
+
* - 可选策略值如下:
|
|
885
|
+
* - - start : 起点跟随,和 target 起始位置(left)一致
|
|
886
|
+
* - - end : 终点跟随,和 target 结束位置(right)一致
|
|
887
|
+
* - - center : 中心跟随,和 target 中心位置一致
|
|
888
|
+
* - - before : 之前跟随,组件在 target 左侧展示
|
|
889
|
+
* - - after : 之后跟随,组件在 target 右侧展示
|
|
890
|
+
* - - ratio : 比例跟随,按比例(target中心点/窗口宽度)锚定位置,动态计算left值。
|
|
813
891
|
*/
|
|
814
|
-
|
|
892
|
+
followX?: FollowStrategy | FollowStrategy[];
|
|
815
893
|
/**
|
|
816
|
-
*
|
|
817
|
-
* -
|
|
818
|
-
* -
|
|
894
|
+
* y轴方向上的跟随策略
|
|
895
|
+
* - 支持传入一个或者多个,依次尝试选举最优位置(全高度展示,否则取最大高度位置)
|
|
896
|
+
* - 不传入则按照默认策略;["after","before","start","end","center","ratio"]
|
|
897
|
+
* - 可选策略值如下:
|
|
898
|
+
* - - start : 起点跟随,和 target 起始位置(top)一致
|
|
899
|
+
* - - end : 终点跟随,和 target 结束位置(bottom)一致
|
|
900
|
+
* - - center : 中心跟随,和 target 中心位置一致
|
|
901
|
+
* - - before : 之前跟随,组件在 target 顶部展示
|
|
902
|
+
* - - after : 之后跟随,组件在 target 底部展示
|
|
903
|
+
* - - ratio : 比例跟随,按比例(target中心点/窗口高度)锚定位置,动态计算top值。
|
|
819
904
|
*/
|
|
820
|
-
|
|
905
|
+
followY?: FollowStrategy | FollowStrategy[];
|
|
821
906
|
/**
|
|
822
|
-
*
|
|
823
|
-
* -
|
|
824
|
-
* -
|
|
825
|
-
* -
|
|
907
|
+
* x轴方向上 target 之间的留白空间
|
|
908
|
+
* - 默认0; followX 为 center、ratio 时间距失效
|
|
909
|
+
* - 增加间距,提升展示效果
|
|
910
|
+
* -
|
|
826
911
|
*/
|
|
827
|
-
|
|
912
|
+
spaceX?: number;
|
|
828
913
|
/**
|
|
829
|
-
*
|
|
830
|
-
* -
|
|
914
|
+
* y轴方向上 target 之间的留白空间
|
|
915
|
+
* - 默认0;followY 为 center、ratio 时间距失效
|
|
916
|
+
* - 增加间距,提升展示效果
|
|
831
917
|
*/
|
|
832
|
-
|
|
918
|
+
spaceY?: number;
|
|
833
919
|
/**
|
|
834
|
-
*
|
|
835
|
-
* -
|
|
920
|
+
* 和 浏览器客户 端之间的留白空间
|
|
921
|
+
* - 弹出组件 和浏览器客户端窗口之间的【留白空间】
|
|
922
|
+
* - 仅在 弹出组件 计算出来位置紧贴浏览器窗口时生效
|
|
923
|
+
* - 若强制指定了 start、end,则对应的起始、结束位置不受此值影响
|
|
836
924
|
*/
|
|
837
|
-
|
|
925
|
+
spaceClient?: number;
|
|
838
926
|
/**
|
|
839
|
-
*
|
|
840
|
-
* -
|
|
841
|
-
* - 初期想用sort,但作Vue组件属性时,bool类型不传值会自动默认false,和初衷不符
|
|
927
|
+
* 点击【遮罩层】时是否关闭弹窗
|
|
928
|
+
* - 则点击非【跟随组件】区域时是否关闭
|
|
842
929
|
*/
|
|
843
|
-
|
|
844
|
-
};
|
|
845
|
-
/**
|
|
846
|
-
* 排序组件的Group属性配置选项
|
|
847
|
-
*/
|
|
848
|
-
type SortGroupOptions = {
|
|
930
|
+
closeOnMask?: boolean;
|
|
849
931
|
/**
|
|
850
|
-
*
|
|
851
|
-
* - 不传入时自动生成
|
|
932
|
+
* 按下【ESC】健时是否关闭弹窗
|
|
852
933
|
*/
|
|
853
|
-
|
|
934
|
+
closeOnEscape?: boolean;
|
|
854
935
|
/**
|
|
855
|
-
*
|
|
856
|
-
* - true:列表容器内的列表单元可以被移出;
|
|
857
|
-
* - false:列表容器内的列表单元不可以被移出;
|
|
858
|
-
* - "clone":列表单元移出,移动的为该元素的副本;
|
|
859
|
-
* - function:用来进行pull的函数判断,可以进行复杂逻辑,在函数中return false/true来判断是否移出;
|
|
936
|
+
* window窗口【resize】时是否关闭弹窗
|
|
860
937
|
*/
|
|
861
|
-
|
|
938
|
+
closeOnResize?: boolean;
|
|
862
939
|
/**
|
|
863
|
-
*
|
|
864
|
-
* -
|
|
865
|
-
* -
|
|
866
|
-
* - string|string[]:代表的是group配置项里定义的name值。如['foo','bar']
|
|
867
|
-
* - function:用来进行put的函数判断,可以进行复杂逻辑,在函数中return false/true来判断是否放入;
|
|
940
|
+
* target改变时是否关闭弹窗
|
|
941
|
+
* - target尺寸、位置变化
|
|
942
|
+
* - target点击时
|
|
868
943
|
*/
|
|
869
|
-
|
|
944
|
+
closeOnTarget?: boolean;
|
|
870
945
|
};
|
|
871
946
|
/**
|
|
872
|
-
*
|
|
873
|
-
* -
|
|
874
|
-
* - @param item 移动的元素
|
|
875
|
-
* - @param to 目标容器dom元素
|
|
876
|
-
* - @param from 来源容器dom元素
|
|
947
|
+
* 跟随策略
|
|
948
|
+
* - 详细值定义,参照 FollowOptions.followX 和 FollowOptions.followY
|
|
877
949
|
*/
|
|
878
|
-
type
|
|
950
|
+
type FollowStrategy = "start" | "center" | "end" | "before" | "after" | "ratio";
|
|
879
951
|
/**
|
|
880
|
-
*
|
|
952
|
+
* 跟随弹窗 句柄
|
|
953
|
+
* - 用于在 弹窗组件 内部进行模式判断和关闭跟随弹窗
|
|
881
954
|
*/
|
|
882
|
-
type
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
/**
|
|
888
|
-
* 移动中
|
|
889
|
-
*/
|
|
890
|
-
move: [evt: SortEvent, originalEvent: SortEvent];
|
|
955
|
+
type FollowHandle<T> = PopupHandle<T> & {};
|
|
956
|
+
/**
|
|
957
|
+
* 跟随弹窗 扩展配置
|
|
958
|
+
*/
|
|
959
|
+
type FollowExtend = PopupStatusOptions & {
|
|
891
960
|
/**
|
|
892
|
-
*
|
|
961
|
+
* 跟随的目标元素
|
|
893
962
|
*/
|
|
894
|
-
|
|
963
|
+
target: Element;
|
|
895
964
|
/**
|
|
896
|
-
*
|
|
965
|
+
* x轴方向的跟随策略:响应式
|
|
966
|
+
* - 基于外部传入的跟随策略,计算选举出来的最优策略值
|
|
897
967
|
*/
|
|
898
|
-
|
|
968
|
+
followX: ShallowRef<FollowStrategy>;
|
|
899
969
|
/**
|
|
900
|
-
*
|
|
970
|
+
* y轴方向的跟随策略:响应式
|
|
971
|
+
* - 基于外部传入的跟随策略,计算选举出来的最优策略值
|
|
901
972
|
*/
|
|
902
|
-
|
|
973
|
+
followY: ShallowRef<FollowStrategy>;
|
|
903
974
|
/**
|
|
904
|
-
*
|
|
905
|
-
*
|
|
906
|
-
*
|
|
975
|
+
* Follow弹窗是否【钉住】了
|
|
976
|
+
* - 为true时,closeOnMask、closeOnEscape失效
|
|
977
|
+
* - 满足 子弹窗 点击等操作时,不自动销毁父级弹窗
|
|
907
978
|
*/
|
|
908
|
-
|
|
979
|
+
pinned: ShallowRef<boolean>;
|
|
909
980
|
};
|
|
910
981
|
/**
|
|
911
|
-
*
|
|
982
|
+
* 跟随策略 配置选项
|
|
912
983
|
*/
|
|
913
|
-
type
|
|
914
|
-
/**
|
|
915
|
-
* 目标容器
|
|
916
|
-
*/
|
|
917
|
-
to: HTMLElement;
|
|
984
|
+
type FollowStrategyOptions = {
|
|
918
985
|
/**
|
|
919
|
-
*
|
|
986
|
+
* x轴的跟随策略
|
|
920
987
|
*/
|
|
921
|
-
|
|
988
|
+
followX?: FollowStrategy;
|
|
922
989
|
/**
|
|
923
|
-
*
|
|
924
|
-
* - 在`group.pull`配置为 clone 时,此值为原始元素,复制元素放到原来位置了
|
|
990
|
+
* x轴的跟随策略
|
|
925
991
|
*/
|
|
926
|
-
|
|
992
|
+
followY?: FollowStrategy;
|
|
993
|
+
};
|
|
994
|
+
/**
|
|
995
|
+
* 跟随选举结果
|
|
996
|
+
*/
|
|
997
|
+
type FollowElectResult = {
|
|
927
998
|
/**
|
|
928
|
-
*
|
|
929
|
-
* - 在`group.pull`配置为 clone 时
|
|
999
|
+
* 跟随策略
|
|
930
1000
|
*/
|
|
931
|
-
|
|
1001
|
+
strategy: FollowStrategy;
|
|
932
1002
|
/**
|
|
933
|
-
*
|
|
1003
|
+
* 开始位置:x/top
|
|
934
1004
|
*/
|
|
935
|
-
|
|
1005
|
+
start: number;
|
|
936
1006
|
/**
|
|
937
|
-
*
|
|
1007
|
+
* 调整后的尺寸(width/height)
|
|
1008
|
+
* - 为undefined表示无需调整尺寸
|
|
938
1009
|
*/
|
|
939
|
-
|
|
1010
|
+
size?: number;
|
|
940
1011
|
};
|
|
941
1012
|
|
|
942
1013
|
/**
|
|
943
|
-
*
|
|
1014
|
+
* 弹窗管理器
|
|
944
1015
|
*/
|
|
945
|
-
|
|
1016
|
+
interface IPopupManager {
|
|
946
1017
|
/**
|
|
947
|
-
*
|
|
948
|
-
* -
|
|
1018
|
+
* 弹出
|
|
1019
|
+
* - 弹窗位置位置、大小、动画效果等由组件自己完成
|
|
1020
|
+
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
1021
|
+
* @param options 弹窗配置选项
|
|
1022
|
+
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
949
1023
|
*/
|
|
950
|
-
|
|
1024
|
+
popup<T, Props = void, Model = void>(options: PopupOptions<Props, Model>): IAsyncScope<T>;
|
|
951
1025
|
/**
|
|
952
|
-
*
|
|
953
|
-
* -
|
|
954
|
-
* -
|
|
955
|
-
|
|
956
|
-
|
|
1026
|
+
* 对话框
|
|
1027
|
+
* - 支持指定模态和非模态对话框
|
|
1028
|
+
* - 默认垂直水平居中展示
|
|
1029
|
+
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
1030
|
+
* @param options 弹窗配置选项
|
|
1031
|
+
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
1032
|
+
*/
|
|
1033
|
+
dialog<T, Props = void, Model = void>(options: DialogOptions<Props, Model>): IAsyncScope<T>;
|
|
957
1034
|
/**
|
|
958
|
-
*
|
|
959
|
-
* -
|
|
960
|
-
*
|
|
1035
|
+
* 跟随弹窗
|
|
1036
|
+
* - 跟随指定的target对象,可跟随位置、大小
|
|
1037
|
+
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
1038
|
+
* @param target 跟随的目标元素
|
|
1039
|
+
* @param options 跟随配置选项
|
|
1040
|
+
* @returns 弹窗异步作用域,外部可手动关闭弹窗
|
|
961
1041
|
*/
|
|
962
|
-
|
|
963
|
-
};
|
|
964
|
-
/**
|
|
965
|
-
* 提取组件的props类型
|
|
966
|
-
* - 有效的 Props 类型:extends Record<string, any>
|
|
967
|
-
* - 有效类型则返回 Props 自身;否则无效,为undefined
|
|
968
|
-
*/
|
|
969
|
-
type PropsType<Props> = Props extends Record<string, any> ? Props : undefined;
|
|
970
|
-
/**
|
|
971
|
-
* 事件发射器类型
|
|
972
|
-
* - 将【组件中组件】转换为vue的 defineEmits 类型
|
|
973
|
-
* - 用于将组件的事件发射器包裹传递到其他组件、class中使用
|
|
974
|
-
*/
|
|
975
|
-
type EmitterType<Events extends Record<string, any[]>> = {
|
|
976
|
-
<K extends keyof Events>(event: K, ...payload: Events[K]): any;
|
|
977
|
-
};
|
|
978
|
-
/**
|
|
979
|
-
* 提取【组件插槽】类型
|
|
980
|
-
*/
|
|
981
|
-
type SlotsType<Slots extends Record<string, any>> = {
|
|
982
|
-
[key in keyof Slots]: (props: Slots[key]) => any;
|
|
983
|
-
};
|
|
984
|
-
/**
|
|
985
|
-
* 提取【组件事件】类型
|
|
986
|
-
* - 将【组件事件】中的key首字母小写,追加上on前缀;key对应的value为监听函数参数
|
|
987
|
-
* - T的类型约束:Record<string, unknown[]>
|
|
988
|
-
*/
|
|
989
|
-
type EventsType<Events> = Events extends Record<string, unknown[]> ? ({
|
|
990
|
-
[key in keyof Events as `on${Capitalize<string & key>}`]?: (...args: Events[key]) => void;
|
|
991
|
-
}) : never;
|
|
992
|
-
/**
|
|
993
|
-
* 组件绑定 配置选项
|
|
994
|
-
* - Props、Events、Model 为可选泛型,分别约束 props、events、model 属性
|
|
995
|
-
* - 若泛型类型无效,则对应属性类型强制为undefined;详细参照对应属性说明
|
|
996
|
-
*/
|
|
997
|
-
type ComponentBindOptions<Props = void, Model = void> = {
|
|
1042
|
+
follow<T, Props = void, Model = void>(target: HTMLElement, options: FollowOptions<Props, Model>): IAsyncScope<T>;
|
|
998
1043
|
/**
|
|
999
|
-
*
|
|
1000
|
-
*
|
|
1001
|
-
*
|
|
1002
|
-
* @
|
|
1044
|
+
* 打开【确认】弹窗
|
|
1045
|
+
* @param title 弹窗标题
|
|
1046
|
+
* @param message 确认提示信息,支持html片段
|
|
1047
|
+
* @param options 确认弹窗其他配置信息
|
|
1048
|
+
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
1003
1049
|
*/
|
|
1004
|
-
|
|
1050
|
+
confirm(title: string, message: string, options?: Omit<ConfirmOptions, "title" | "message">): IAsyncScope<boolean>;
|
|
1005
1051
|
/**
|
|
1006
|
-
*
|
|
1007
|
-
*
|
|
1008
|
-
*
|
|
1052
|
+
* Toast 提示框
|
|
1053
|
+
* @param type 提示类型:成功、失败、、、
|
|
1054
|
+
* @param message 提示消息
|
|
1055
|
+
* @param options 提示框配置选项
|
|
1056
|
+
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
1009
1057
|
*/
|
|
1010
|
-
|
|
1011
|
-
}
|
|
1058
|
+
toast(type: IconType, message: string, options?: Omit<ToastOptions, "type" | "message">): IScope;
|
|
1059
|
+
}
|
|
1012
1060
|
|
|
1013
1061
|
/**
|
|
1014
|
-
*
|
|
1062
|
+
* 使用【弹窗管理器】
|
|
1063
|
+
* @returns 全新的【弹窗管理器】实例+作用域对象
|
|
1015
1064
|
*/
|
|
1065
|
+
declare function usePopup(): IPopupManager & IScope;
|
|
1016
1066
|
|
|
1017
1067
|
/**
|
|
1018
|
-
*
|
|
1068
|
+
* 选择器 相关数据实体
|
|
1019
1069
|
*/
|
|
1020
|
-
|
|
1070
|
+
|
|
1071
|
+
/**
|
|
1072
|
+
* 接口:选择器管理器
|
|
1073
|
+
*/
|
|
1074
|
+
interface IPickerManager {
|
|
1021
1075
|
/**
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1076
|
+
* 显示【日期】选择器
|
|
1077
|
+
* @param target 哪个元素触发,基于此元素计算位置
|
|
1078
|
+
* @param options 日期选择器配置选项
|
|
1079
|
+
* @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
|
|
1080
|
+
* @returns 异步任务,可销毁日期选择器;可接收日期选择器的选择值
|
|
1081
|
+
*/
|
|
1082
|
+
showDate(target: HTMLElement, options?: DatePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
|
|
1083
|
+
/**
|
|
1084
|
+
* 显示【时间】选择控件
|
|
1085
|
+
* @param target 哪个元素触发,基于此元素计算位置
|
|
1086
|
+
* @param options 时间选择控件配置选项
|
|
1087
|
+
* @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
|
|
1088
|
+
* @returns 异步任务,可销毁时间选择控件;可接收时间选择控件的选择值
|
|
1026
1089
|
*/
|
|
1027
|
-
|
|
1090
|
+
showTime(target: HTMLElement, options?: TimePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
|
|
1091
|
+
}
|
|
1092
|
+
/**
|
|
1093
|
+
* 选择器弹窗配置选项
|
|
1094
|
+
* - 放开一些属性,方便用户做一些自定义
|
|
1095
|
+
*/
|
|
1096
|
+
type PickerPopupOptions = {
|
|
1028
1097
|
/**
|
|
1029
|
-
*
|
|
1030
|
-
* -
|
|
1031
|
-
* -
|
|
1098
|
+
* 弹窗模式
|
|
1099
|
+
* - follow 【默认值】跟随弹窗,跟随制定的target
|
|
1100
|
+
* - dialog 模态弹窗
|
|
1032
1101
|
*/
|
|
1033
|
-
|
|
1102
|
+
mode?: "dialog" | "follow";
|
|
1034
1103
|
/**
|
|
1035
|
-
*
|
|
1036
|
-
* -
|
|
1037
|
-
* - 配置滚动条和宽度;宽度不配置时,默认 `fit-content`
|
|
1038
|
-
* -
|
|
1104
|
+
* 跟随效果
|
|
1105
|
+
* - mode 为 `follow` 生效
|
|
1039
1106
|
*/
|
|
1040
|
-
|
|
1107
|
+
follow?: FollowPositionOptions;
|
|
1041
1108
|
/**
|
|
1042
|
-
*
|
|
1043
|
-
* -
|
|
1044
|
-
* - 配置滚动条和宽度;宽度不配置时,默认 `fit-content`
|
|
1109
|
+
* 弹窗配置
|
|
1110
|
+
* - mode 为 `dialog` 生效
|
|
1045
1111
|
*/
|
|
1046
|
-
|
|
1112
|
+
dialog?: Pick<DialogOptions, "closeOnEscape" | "closeOnMask" | "rootClass">;
|
|
1113
|
+
} /** & FollowPositionOptions */;
|
|
1114
|
+
/**
|
|
1115
|
+
* 选择器扩展
|
|
1116
|
+
*/
|
|
1117
|
+
type PickerExtend = {
|
|
1047
1118
|
/**
|
|
1048
|
-
*
|
|
1049
|
-
* -
|
|
1050
|
-
* - 配置滚动条和高度;高度不配置时,默认 `fit-content`
|
|
1051
|
-
* -
|
|
1119
|
+
* 弹窗管理器
|
|
1120
|
+
* - 方便下级再弹窗,公用一个管理器,方便生命周期管理
|
|
1052
1121
|
*/
|
|
1053
|
-
|
|
1122
|
+
popup: IPopupManager;
|
|
1054
1123
|
/**
|
|
1055
|
-
*
|
|
1056
|
-
* -
|
|
1057
|
-
* - 配置滚动条和高度;高度不配置时,默认 `fit-content`
|
|
1124
|
+
* 选择器对象,方便内部在弹出选择
|
|
1125
|
+
* - 如日期选择器中,在选择时间
|
|
1058
1126
|
*/
|
|
1059
|
-
|
|
1127
|
+
picker: IPickerManager;
|
|
1060
1128
|
};
|
|
1129
|
+
|
|
1061
1130
|
/**
|
|
1062
|
-
*
|
|
1131
|
+
* 树形 数据相关的基础实体结构
|
|
1132
|
+
* 1、封装一些基础实体;如树形节点数据结构
|
|
1133
|
+
* 2、配合树形组件使用;如select的多级筛选,树组件等
|
|
1134
|
+
* 3、封装树的基础共性操作,如显隐判断、搜索查询等
|
|
1063
1135
|
*/
|
|
1064
|
-
type LayoutAraeOptions<Style extends WidthStyle | HeightStyle | void> = Style & CSSClassOptions & {
|
|
1065
|
-
/**
|
|
1066
|
-
* 滚动视图配置
|
|
1067
|
-
* - 视图属性:滚动条大小、显示时机
|
|
1068
|
-
* - 滚动事件:滚动条显隐、滚动到顶部、底部、、、
|
|
1069
|
-
* - 不传入则当前区域`overflow:hidden`溢出隐藏
|
|
1070
|
-
*/
|
|
1071
|
-
scroll?: ScrollOptions & EventsType<ScrollEvents>;
|
|
1072
|
-
};
|
|
1073
1136
|
/**
|
|
1074
|
-
*
|
|
1137
|
+
* 树节点
|
|
1138
|
+
* - 仅提供树节点基础属性;可以基于 Extend 为 TreeNode 扩展节点属性
|
|
1075
1139
|
*/
|
|
1076
|
-
type
|
|
1140
|
+
type TreeNode<T, Extend extends Record<string, any> | void = void> = {
|
|
1077
1141
|
/**
|
|
1078
|
-
*
|
|
1142
|
+
* 展示文本
|
|
1079
1143
|
*/
|
|
1080
|
-
|
|
1144
|
+
text: string;
|
|
1081
1145
|
/**
|
|
1082
|
-
*
|
|
1146
|
+
* 附带数据
|
|
1083
1147
|
*/
|
|
1084
|
-
|
|
1148
|
+
data?: T;
|
|
1085
1149
|
/**
|
|
1086
|
-
*
|
|
1150
|
+
* 子选择项 数据源
|
|
1087
1151
|
*/
|
|
1088
|
-
|
|
1089
|
-
};
|
|
1090
|
-
|
|
1152
|
+
children?: TreeNode<T, Extend>[];
|
|
1153
|
+
} & (Extend extends void ? {} : Extend);
|
|
1091
1154
|
/**
|
|
1092
|
-
*
|
|
1093
|
-
* -
|
|
1155
|
+
* 树节点 扩展
|
|
1156
|
+
* - 配合 树上下文 使用
|
|
1094
1157
|
*/
|
|
1095
|
-
type
|
|
1096
|
-
/**
|
|
1097
|
-
* 是否是多元素模式
|
|
1098
|
-
* - 为true时,则使用 TransitionGroup 组件实现多元素间动画控制
|
|
1099
|
-
* - 为false时,则使用 Transition 组件实现单元素动画控制
|
|
1100
|
-
*/
|
|
1101
|
-
multiple?: boolean;
|
|
1158
|
+
type TreeNodeExtend = {
|
|
1102
1159
|
/**
|
|
1103
|
-
*
|
|
1104
|
-
* -
|
|
1105
|
-
* - - 可访问`MOTION`使用内置动画效果
|
|
1106
|
-
* - 为string时,为动画的根样式,实现动画效果时:
|
|
1107
|
-
* - - 入场动画:`${effect}.enter-active` `${effect}.enter-from` `${effect}.enter-to`
|
|
1108
|
-
* - - 退场动画:`${effect}.leave-active` `${effect}.leave-from` `${effect}.leave-to`
|
|
1109
|
-
* - 为空时,使用`MOTION.fade`值;
|
|
1160
|
+
* 节点Id,确保唯一
|
|
1161
|
+
* - 不传入则内部自动 newId()
|
|
1110
1162
|
*/
|
|
1111
|
-
|
|
1163
|
+
readonly id?: string;
|
|
1112
1164
|
/**
|
|
1113
|
-
*
|
|
1114
|
-
* -
|
|
1165
|
+
* 是否可点击
|
|
1166
|
+
* - true 此节点可点击,点击时触发 click 事件
|
|
1167
|
+
* - false 此节点不可点击
|
|
1115
1168
|
*/
|
|
1116
|
-
|
|
1169
|
+
clickable?: boolean;
|
|
1117
1170
|
/**
|
|
1118
|
-
*
|
|
1119
|
-
* -
|
|
1120
|
-
* - in-out 入场动画先执行,退场动画后执行
|
|
1121
|
-
* - out-in 退场动画先执行,入场动画后执行
|
|
1122
|
-
* - 在多个元素之间切换时生效,一个元素的显隐切换无效果
|
|
1171
|
+
* 是否可搜索
|
|
1172
|
+
* - 为true时,此节点可搜索
|
|
1123
1173
|
*/
|
|
1124
|
-
|
|
1125
|
-
};
|
|
1126
|
-
/**
|
|
1127
|
-
* 动画效果配置选项
|
|
1128
|
-
*/
|
|
1129
|
-
type MotionEffectOptions = {
|
|
1174
|
+
searchable?: boolean;
|
|
1130
1175
|
/**
|
|
1131
|
-
*
|
|
1132
|
-
* -
|
|
1176
|
+
* 是否隐藏
|
|
1177
|
+
* - true 隐藏 节点 和 子节点
|
|
1178
|
+
* - 隐藏组件,不参与点击、搜索等
|
|
1133
1179
|
*/
|
|
1134
|
-
|
|
1180
|
+
hidden?: boolean;
|
|
1135
1181
|
/**
|
|
1136
|
-
*
|
|
1137
|
-
* -
|
|
1182
|
+
* 是否固定
|
|
1183
|
+
* - true 固定 节点;则节点不参与 搜索、移动等动态操作
|
|
1138
1184
|
*/
|
|
1139
|
-
|
|
1185
|
+
fixed?: boolean;
|
|
1140
1186
|
};
|
|
1141
|
-
|
|
1142
1187
|
/**
|
|
1143
|
-
*
|
|
1144
|
-
* - title 折叠面板标题
|
|
1145
|
-
* - disabled 禁用折叠效果,始终展开
|
|
1188
|
+
* 树的基础上下文对象
|
|
1146
1189
|
*/
|
|
1147
|
-
|
|
1190
|
+
interface ITreeBaseContext<T> {
|
|
1148
1191
|
/**
|
|
1149
|
-
*
|
|
1150
|
-
*
|
|
1192
|
+
* 执行搜索
|
|
1193
|
+
* @param text 搜索文本
|
|
1151
1194
|
*/
|
|
1152
|
-
|
|
1195
|
+
doSearch(text: string): void;
|
|
1153
1196
|
/**
|
|
1154
|
-
*
|
|
1155
|
-
*
|
|
1197
|
+
* 是否是【已激活】节点
|
|
1198
|
+
* @param node 要判断的节点
|
|
1199
|
+
* @returns true 是已激活节点,false 否
|
|
1156
1200
|
*/
|
|
1157
|
-
|
|
1201
|
+
isActived(node: TreeNode<T>): boolean;
|
|
1158
1202
|
/**
|
|
1159
|
-
*
|
|
1160
|
-
* -
|
|
1203
|
+
* 是否是【补丁】节点
|
|
1204
|
+
* - 子节点搜索命中时,父级路径上节点没命中,则作父级路径节点作为路径修补节点存在,避免命中子节点展示不出来
|
|
1205
|
+
* @param node 要判断的节点
|
|
1206
|
+
* @returns true 是补丁节点,false 不是补丁节点
|
|
1161
1207
|
*/
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1208
|
+
isPatched(node: TreeNode<T>): boolean;
|
|
1209
|
+
/**
|
|
1210
|
+
* 是否显示【树节点】
|
|
1211
|
+
* @param node 要判断的节点
|
|
1212
|
+
* @param needPatched 是否需要【补丁】节点。true时(补丁节点始终显示);false时(根据hidden和搜索结果判断)
|
|
1213
|
+
* @returns 能显示返回true;否则返回false
|
|
1214
|
+
*/
|
|
1215
|
+
isShow(node: TreeNode<T, TreeNodeExtend>, needPatched: boolean): boolean;
|
|
1216
|
+
/**
|
|
1217
|
+
* 是否显示指定【树节点】的子节点
|
|
1218
|
+
* - 不会判断node节点自身是否可显示
|
|
1219
|
+
* @param node 要判断的节点
|
|
1220
|
+
* @param needPatched 是否需要【补丁】节点。true时(补丁节点始终显示);false时(根据hidden和搜索结果判断)
|
|
1221
|
+
* @returns 能显示返回true;否则返回false
|
|
1222
|
+
*/
|
|
1223
|
+
isShowChildren(node: TreeNode<T, TreeNodeExtend>, needPatched: boolean): boolean;
|
|
1224
|
+
/**
|
|
1225
|
+
* 获取指定【树节点】的路径
|
|
1226
|
+
* @param node 树节点
|
|
1227
|
+
* @returns 从【顶级节点】->【指定节点】的全路径数据
|
|
1228
|
+
*/
|
|
1229
|
+
getPath(node: TreeNode<T, TreeNodeExtend>): TreeNode<T, TreeNodeExtend>[];
|
|
1230
|
+
/**
|
|
1231
|
+
* 获取指定【树节点】的唯一Key值
|
|
1232
|
+
* - 相同节点确保唯一,且不变;用于唯一标记此节点
|
|
1233
|
+
* @param node
|
|
1234
|
+
* @returns 返回节点唯一Key值
|
|
1235
|
+
*/
|
|
1236
|
+
getKey(node: TreeNode<T>): string;
|
|
1237
|
+
}
|
|
1170
1238
|
/**
|
|
1171
|
-
*
|
|
1172
|
-
* - 将折叠面板状态和操作共享给插槽中自定义组件使用
|
|
1239
|
+
* 树搜索结果
|
|
1173
1240
|
*/
|
|
1174
|
-
type
|
|
1241
|
+
type TreeSearchResult<T> = {
|
|
1175
1242
|
/**
|
|
1176
|
-
*
|
|
1177
|
-
* @returns
|
|
1243
|
+
* 匹配上的节点集合
|
|
1178
1244
|
*/
|
|
1179
|
-
|
|
1245
|
+
matched: TreeNode<T>[];
|
|
1180
1246
|
/**
|
|
1181
|
-
*
|
|
1182
|
-
* @param status 新的状态
|
|
1247
|
+
* 未匹配上的节点集合
|
|
1183
1248
|
*/
|
|
1184
|
-
|
|
1249
|
+
failed: TreeNode<T>[];
|
|
1185
1250
|
/**
|
|
1186
|
-
*
|
|
1187
|
-
*
|
|
1251
|
+
* 搜索时的【补丁】节点集合
|
|
1252
|
+
* - 子节点搜索命中时,父级路径上节点没命中,则作父级路径节点作为路径修补节点存在,避免命中子节点展示不出来
|
|
1253
|
+
* - 仅在有搜索条件时成立,补丁节点同时在【failed】节点集合中
|
|
1188
1254
|
*/
|
|
1189
|
-
|
|
1255
|
+
patched: TreeNode<T>[];
|
|
1190
1256
|
};
|
|
1257
|
+
|
|
1191
1258
|
/**
|
|
1192
|
-
*
|
|
1259
|
+
* 搜索组件配置选项
|
|
1193
1260
|
*/
|
|
1194
|
-
type
|
|
1261
|
+
type SearchOptions = ReadonlyOptions & PlaceholderOptions & {
|
|
1195
1262
|
/**
|
|
1196
|
-
*
|
|
1197
|
-
*
|
|
1263
|
+
* 启用【自动完成】
|
|
1264
|
+
* - true 时,只要文本变化了,就触发 search 事件
|
|
1265
|
+
* - false 时,只有点击【搜索】按钮,才触发 search 事件
|
|
1198
1266
|
*/
|
|
1199
|
-
|
|
1267
|
+
autoComplete?: boolean;
|
|
1268
|
+
};
|
|
1269
|
+
/**
|
|
1270
|
+
* 搜索组件事件
|
|
1271
|
+
*/
|
|
1272
|
+
type SearchEvents = {
|
|
1273
|
+
/**
|
|
1274
|
+
* 事件:执行搜索
|
|
1275
|
+
* @param value 为搜索文本
|
|
1276
|
+
*/
|
|
1277
|
+
search: [value: string];
|
|
1200
1278
|
};
|
|
1201
1279
|
|
|
1202
1280
|
/**
|
|
1203
|
-
*
|
|
1281
|
+
* 树组件 相关实体
|
|
1282
|
+
* - 基于 snail.core中的TreeNode做扩展
|
|
1204
1283
|
*/
|
|
1205
|
-
|
|
1284
|
+
|
|
1285
|
+
/**
|
|
1286
|
+
* 树组件 配置选项
|
|
1287
|
+
*/
|
|
1288
|
+
type TreeOptions<T> = {
|
|
1206
1289
|
/**
|
|
1207
|
-
*
|
|
1208
|
-
* - css属性:flex-direction
|
|
1209
|
-
* - 取值范围:
|
|
1210
|
-
* - - row(默认值) 水平主轴,起点在左端
|
|
1211
|
-
* - - row-reverse 水平主轴,起点在右端
|
|
1212
|
-
* - - column 垂直主轴,起点在上沿
|
|
1213
|
-
* - - column-reverse 垂直主轴,起点在下沿
|
|
1290
|
+
* 树节点 集合
|
|
1214
1291
|
*/
|
|
1215
|
-
|
|
1292
|
+
nodes: TreeNodeModel<T>[];
|
|
1216
1293
|
/**
|
|
1217
|
-
*
|
|
1218
|
-
* -
|
|
1219
|
-
* - 取值范围:
|
|
1220
|
-
* - - nowrap(默认值) 不换行,所有 flex 项都排在一行
|
|
1221
|
-
* - - wrap 换行,第一行在上方
|
|
1222
|
-
* - - wrap-reverse 换行,第一行在下方
|
|
1294
|
+
* 树节点搜索配置
|
|
1295
|
+
* - 不配置则不启用【搜索】功能
|
|
1223
1296
|
*/
|
|
1224
|
-
|
|
1297
|
+
search?: SearchOptions;
|
|
1225
1298
|
/**
|
|
1226
|
-
*
|
|
1227
|
-
* - css属性:gap
|
|
1228
|
-
* - row-gap、column-gap的缩写
|
|
1229
|
-
* - 举例:gap: "10px 20px" 表示行间距为10px,列间距为20px;gap: "10px" 表示行间距和列间距都为10px
|
|
1299
|
+
* 树节点的配置选项
|
|
1230
1300
|
*/
|
|
1231
|
-
|
|
1301
|
+
nodeOptions?: TreeNodeRenderOptions;
|
|
1302
|
+
};
|
|
1303
|
+
/**
|
|
1304
|
+
* 树组件事件
|
|
1305
|
+
*/
|
|
1306
|
+
type TreeEvents<T> = TreeNodeEvents<T> & {
|
|
1232
1307
|
/**
|
|
1233
|
-
*
|
|
1234
|
-
*
|
|
1235
|
-
* - 取值范围:
|
|
1236
|
-
* - - start(默认值) 主轴起点对齐
|
|
1237
|
-
* - - end 主轴终点对齐
|
|
1238
|
-
* - - center 主轴居中对齐
|
|
1239
|
-
* - - between 主轴两端对齐,项目之间间隔平均分布
|
|
1240
|
-
* - - around 主轴每个项目两侧间隔平均分布
|
|
1241
|
-
* - - evenly 主轴每个项目之间间隔平均分布
|
|
1308
|
+
* 搜索完成后
|
|
1309
|
+
* @param text 搜索文本
|
|
1242
1310
|
*/
|
|
1243
|
-
|
|
1311
|
+
searched: [text: string];
|
|
1312
|
+
};
|
|
1313
|
+
/**
|
|
1314
|
+
* 树节点 组件配置选项
|
|
1315
|
+
*/
|
|
1316
|
+
type TreeNodeOptions<T> = {
|
|
1244
1317
|
/**
|
|
1245
|
-
*
|
|
1246
|
-
* - css属性:align-items
|
|
1247
|
-
* - 取值范围:
|
|
1248
|
-
* - - stretch(默认值) 交叉轴拉伸对齐(如果项目未设置高度或设为 auto,将占满整个交叉轴)
|
|
1249
|
-
* - - start 交叉轴起点对齐
|
|
1250
|
-
* - - end 交叉轴终点对齐
|
|
1251
|
-
* - - center 交叉轴居中对齐
|
|
1252
|
-
* - - baseline 交叉轴第一行文字基线对齐
|
|
1318
|
+
* 要渲染的树节点
|
|
1253
1319
|
*/
|
|
1254
|
-
|
|
1320
|
+
node: TreeNodeModel<T>;
|
|
1255
1321
|
/**
|
|
1256
|
-
*
|
|
1257
|
-
* - css属性:align-content
|
|
1258
|
-
* - 取值范围:
|
|
1259
|
-
* - - stretch(默认值) 交叉轴拉伸对齐(如果项目未设置高度或设为 auto,将占满整个交叉轴)
|
|
1260
|
-
* - - start 交叉轴起点对齐
|
|
1261
|
-
* - - end 交叉轴终点对齐
|
|
1262
|
-
* - - center 交叉轴居中对齐
|
|
1263
|
-
* - - between 交叉轴两端对齐,行之间间隔平均分布
|
|
1264
|
-
* - - around 交叉轴每行两侧间隔平均分布
|
|
1265
|
-
* - - evenly 交叉轴每行之间间隔平均分布
|
|
1322
|
+
* 父节点
|
|
1266
1323
|
*/
|
|
1267
|
-
|
|
1324
|
+
parent?: TreeNodeModel<T>;
|
|
1268
1325
|
/**
|
|
1269
|
-
*
|
|
1270
|
-
* -
|
|
1271
|
-
* - 启动后,会基于子项数量补全最后一行缺失的子项数量,来修复空间过大的问题
|
|
1272
|
-
* - 推荐仅在所有子项主轴方向尺寸一样时,否则修复可能不准确
|
|
1326
|
+
* 树节点所处层级
|
|
1327
|
+
* - 用于控制缩进
|
|
1273
1328
|
*/
|
|
1274
|
-
|
|
1329
|
+
level: number;
|
|
1275
1330
|
/**
|
|
1276
|
-
*
|
|
1277
|
-
* - 配合 `repairSpace` 构建修复空间的子项数量
|
|
1278
|
-
* - 当 `repairSpace` 启用时,自动监听子项数量变化来动态调整修复空间的子项数量;不启用时忽略
|
|
1331
|
+
* 树节点的配置选项
|
|
1279
1332
|
*/
|
|
1280
|
-
|
|
1333
|
+
options?: TreeNodeRenderOptions;
|
|
1281
1334
|
/**
|
|
1282
|
-
*
|
|
1283
|
-
* - 配合 `repairSpace` 构建修复空间的子项元素标签名
|
|
1284
|
-
* - 默认值为`div`,即子项元素为`<div>`标签
|
|
1285
|
-
* - 可配置为其他标签名,如`span`,则子项元素为`<span>`标签
|
|
1335
|
+
* 树组件的上下文对象
|
|
1286
1336
|
*/
|
|
1287
|
-
|
|
1337
|
+
context: ITreeBaseContext<T>;
|
|
1338
|
+
};
|
|
1339
|
+
/**
|
|
1340
|
+
* 树节点事件
|
|
1341
|
+
*/
|
|
1342
|
+
type TreeNodeEvents<T> = {
|
|
1288
1343
|
/**
|
|
1289
|
-
*
|
|
1290
|
-
*
|
|
1291
|
-
*
|
|
1292
|
-
* - 构建的子项,会自动追加一个 "repair-item”的类样式名,来方便用户通过该类样式名来设置修复空间子项元素的样式
|
|
1344
|
+
* 树节点 点击事件
|
|
1345
|
+
* @param node 点击的树节点
|
|
1346
|
+
* @param parents node的父节点路径,从【顶级父节点】->【直属父节点】
|
|
1293
1347
|
*/
|
|
1294
|
-
|
|
1348
|
+
click: [node: TreeNodeModel<T>, parents?: TreeNodeModel<T>[]];
|
|
1295
1349
|
};
|
|
1296
|
-
|
|
1297
1350
|
/**
|
|
1298
|
-
*
|
|
1351
|
+
* 树节点数据结构
|
|
1352
|
+
* - 简化外部使用 树节点 时需要频繁写 TreeNode<T, TreeNodeExtend>;
|
|
1353
|
+
* - 避免和 Vue 组件“tree-node.vue”命名重复
|
|
1354
|
+
* - 推荐使用时,将此对象做响应式,否则 .hidden 等 更新时,无法实时反应到树上
|
|
1299
1355
|
*/
|
|
1300
|
-
type
|
|
1356
|
+
type TreeNodeModel<T> = TreeNode<T, TreeNodeExtend>;
|
|
1357
|
+
/**
|
|
1358
|
+
* 树节点 渲染配置选项
|
|
1359
|
+
*/
|
|
1360
|
+
type TreeNodeRenderOptions = {
|
|
1301
1361
|
/**
|
|
1302
|
-
*
|
|
1303
|
-
* -
|
|
1304
|
-
* -
|
|
1305
|
-
* -
|
|
1362
|
+
* 节点展开层级
|
|
1363
|
+
* - 不传入则默认展开所有
|
|
1364
|
+
* - 否则展开传入的层级;从2开始;第一级始终展开;如2则1、2层级展开
|
|
1365
|
+
* -
|
|
1306
1366
|
*/
|
|
1307
|
-
|
|
1367
|
+
expandLevel?: number;
|
|
1308
1368
|
/**
|
|
1309
|
-
*
|
|
1310
|
-
* -
|
|
1311
|
-
* - 满足下拉刷新条件后,触发`refresh`事件,处理完成后调用resolve函数,通知完成刷新数据操作
|
|
1369
|
+
* 是否禁用【折叠】子节点操作
|
|
1370
|
+
* - true 时禁用 折叠操作
|
|
1312
1371
|
*/
|
|
1313
|
-
|
|
1372
|
+
foldDisabled?: boolean;
|
|
1314
1373
|
/**
|
|
1315
|
-
*
|
|
1316
|
-
* -
|
|
1317
|
-
* -
|
|
1374
|
+
* 重写树节点
|
|
1375
|
+
* - true 时,插槽作为完整树节点对象;
|
|
1376
|
+
* - false 时,插槽仅作为扩展元素,如自定义操作等
|
|
1318
1377
|
*/
|
|
1319
|
-
|
|
1378
|
+
rewrite?: boolean;
|
|
1320
1379
|
};
|
|
1321
1380
|
/**
|
|
1322
|
-
*
|
|
1381
|
+
* 树节点 插槽配置选项
|
|
1323
1382
|
*/
|
|
1324
|
-
type
|
|
1383
|
+
type TreeNodeSlotOptions<Node> = {
|
|
1325
1384
|
/**
|
|
1326
|
-
*
|
|
1327
|
-
* - 配合 `downRefresh`实现下拉刷新功能
|
|
1328
|
-
* @param resolve 处理完成后调用resolve函数,通知完成刷新数据操作
|
|
1385
|
+
* 当前节点
|
|
1329
1386
|
*/
|
|
1330
|
-
|
|
1387
|
+
node: Node;
|
|
1331
1388
|
/**
|
|
1332
|
-
*
|
|
1333
|
-
* - 配合 `upMore`实现上拉加载功能
|
|
1334
|
-
* @param resolve 处理完成后调用resolve函数,通知完成加载数据操作
|
|
1389
|
+
* 父节点
|
|
1335
1390
|
*/
|
|
1336
|
-
|
|
1337
|
-
};
|
|
1338
|
-
/**
|
|
1339
|
-
* 弹性组件 对外暴露属性接口
|
|
1340
|
-
*/
|
|
1341
|
-
type ElasticExpose = {
|
|
1391
|
+
parent?: Node;
|
|
1342
1392
|
/**
|
|
1343
|
-
*
|
|
1344
|
-
* - 触发下拉刷新数据
|
|
1345
|
-
* @returns 异步任务对象,外部感知任务执行完成
|
|
1393
|
+
* 所处层级
|
|
1346
1394
|
*/
|
|
1347
|
-
|
|
1395
|
+
level: number;
|
|
1348
1396
|
/**
|
|
1349
|
-
*
|
|
1350
|
-
* - 触发上拉加载更多数据
|
|
1351
|
-
* @returns 异步任务对象,外部感知任务执行完成
|
|
1397
|
+
* 点击节点
|
|
1352
1398
|
*/
|
|
1353
|
-
|
|
1399
|
+
click(): void;
|
|
1400
|
+
/**
|
|
1401
|
+
* 切换【子节点】折叠窗台
|
|
1402
|
+
*/
|
|
1403
|
+
toggle(): void;
|
|
1354
1404
|
};
|
|
1405
|
+
|
|
1355
1406
|
/**
|
|
1356
|
-
*
|
|
1407
|
+
* Table配置选项
|
|
1357
1408
|
*/
|
|
1358
|
-
type
|
|
1359
|
-
x: number | undefined;
|
|
1409
|
+
type TableOptions = Pick<ScrollOptions, "scroll" | "barSize"> & {
|
|
1360
1410
|
/**
|
|
1361
|
-
*
|
|
1411
|
+
* 是否启用表格边框
|
|
1362
1412
|
*/
|
|
1363
|
-
|
|
1413
|
+
border?: boolean;
|
|
1414
|
+
/**
|
|
1415
|
+
* 表头样式
|
|
1416
|
+
* - 约束高度和背景颜色
|
|
1417
|
+
* - 后期再增加其他的
|
|
1418
|
+
*/
|
|
1419
|
+
headerStyle?: BaseStyle & HeightStyle;
|
|
1420
|
+
/**
|
|
1421
|
+
* 表尾部样式
|
|
1422
|
+
* - 约束高度和背景颜色
|
|
1423
|
+
* - 后期再增加其他的
|
|
1424
|
+
*/
|
|
1425
|
+
footerStyle?: BaseStyle & HeightStyle;
|
|
1364
1426
|
};
|
|
1427
|
+
/**
|
|
1428
|
+
* Table 行配置选项
|
|
1429
|
+
*/
|
|
1430
|
+
type TableRowOptions = HeightStyle & {};
|
|
1431
|
+
/**
|
|
1432
|
+
* Table 列配置选项
|
|
1433
|
+
* - border 样式需要配合TableOptions.border使用,否则会导致边框线重叠
|
|
1434
|
+
*/
|
|
1435
|
+
type TableColOptions = BaseStyle & FlexBoxStyle & WidthStyle & BorderStyle & PaddingStyle;
|
|
1365
1436
|
|
|
1366
1437
|
/**
|
|
1367
|
-
*
|
|
1438
|
+
* 排序组件 配置选项
|
|
1439
|
+
* - 整理部分SortableJs中的配置,不分逻辑不开放
|
|
1368
1440
|
*/
|
|
1369
|
-
type
|
|
1441
|
+
type SortOptions<T> = {
|
|
1370
1442
|
/**
|
|
1371
|
-
*
|
|
1443
|
+
* 变化器
|
|
1444
|
+
* - 在此元素值发生变化时,重新刷新排序面板
|
|
1445
|
+
* - 如在增加元素时,改变此值实现 新元素 可拖拽排序
|
|
1372
1446
|
*/
|
|
1373
|
-
|
|
1447
|
+
changer: T;
|
|
1374
1448
|
/**
|
|
1375
|
-
*
|
|
1376
|
-
* -
|
|
1449
|
+
* 拖动哪个元素
|
|
1450
|
+
* - 传入类样式选择器;如 .table-row
|
|
1377
1451
|
*/
|
|
1378
|
-
|
|
1452
|
+
draggable: string;
|
|
1379
1453
|
/**
|
|
1380
|
-
*
|
|
1381
|
-
* -
|
|
1382
|
-
* -
|
|
1454
|
+
* 哪个元素启动拖拽
|
|
1455
|
+
* - 传入类样式选择器;如 .sort-handle
|
|
1456
|
+
* - 不传入则默认 draggable
|
|
1457
|
+
* - 若自定义,则传入 draggable 下的dom元素作为启动拖拽的句柄
|
|
1383
1458
|
*/
|
|
1384
|
-
|
|
1459
|
+
handle?: string;
|
|
1385
1460
|
/**
|
|
1386
|
-
*
|
|
1387
|
-
* -
|
|
1388
|
-
* -
|
|
1461
|
+
* 拖动的元素上增加的类样式
|
|
1462
|
+
* - 执行拖拽时随着鼠标移动元素,脱离文档流了
|
|
1463
|
+
* - 可自定义一些样式实现拖动元素的高度、宽度自定义等
|
|
1464
|
+
* - 默认:snail-sort-drag
|
|
1389
1465
|
*/
|
|
1390
|
-
|
|
1466
|
+
dragClass?: string;
|
|
1391
1467
|
/**
|
|
1392
|
-
*
|
|
1393
|
-
* -
|
|
1394
|
-
* -
|
|
1468
|
+
* 幽灵元素类样式名称
|
|
1469
|
+
* - 拖动时在面板上占位的元素
|
|
1470
|
+
* - 默认:snail-sort-ghost
|
|
1395
1471
|
*/
|
|
1396
|
-
|
|
1472
|
+
ghostClass?: string;
|
|
1397
1473
|
/**
|
|
1398
|
-
*
|
|
1399
|
-
* -
|
|
1474
|
+
* 过滤器,不需要进行拖动的元素
|
|
1475
|
+
* - 传入类样式选择器;如 .sort-handle
|
|
1476
|
+
* - 实现特定子元素不触发拖动排序功能
|
|
1400
1477
|
*/
|
|
1401
|
-
|
|
1402
|
-
};
|
|
1403
|
-
/**
|
|
1404
|
-
* 选项菜单 基础事件
|
|
1405
|
-
*/
|
|
1406
|
-
type SelectBaseEvents<T> = {
|
|
1478
|
+
filter?: string;
|
|
1407
1479
|
/**
|
|
1408
|
-
*
|
|
1409
|
-
* -
|
|
1480
|
+
* 排序组
|
|
1481
|
+
* - 组相同时,可跨组拖拽排序
|
|
1482
|
+
* - 不传入,则内部生成guid
|
|
1483
|
+
* - 为
|
|
1410
1484
|
*/
|
|
1411
|
-
|
|
1485
|
+
group?: string | SortGroupOptions;
|
|
1486
|
+
/**
|
|
1487
|
+
* 动画时间
|
|
1488
|
+
* - 单位ms;默认150ms
|
|
1489
|
+
*/
|
|
1490
|
+
animation?: number;
|
|
1491
|
+
/**
|
|
1492
|
+
* 禁用排序效果
|
|
1493
|
+
* - 为true时,此容器内元素不能拖动,此不构建sortable实例
|
|
1494
|
+
*/
|
|
1495
|
+
disabled?: boolean;
|
|
1496
|
+
/**
|
|
1497
|
+
* 在当前容器内是否禁用拖拽排序
|
|
1498
|
+
* - 为true时,此容器内部不能拖拽,但可拖动到其他同名group内
|
|
1499
|
+
* - 初期想用sort,但作Vue组件属性时,bool类型不传值会自动默认false,和初衷不符
|
|
1500
|
+
*/
|
|
1501
|
+
sortDisabled?: boolean;
|
|
1412
1502
|
};
|
|
1413
1503
|
/**
|
|
1414
|
-
*
|
|
1504
|
+
* 排序组件的Group属性配置选项
|
|
1415
1505
|
*/
|
|
1416
|
-
type
|
|
1506
|
+
type SortGroupOptions = {
|
|
1417
1507
|
/**
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
* - item 选择项;默认值;不可包含子节点,即使传入也会忽略
|
|
1421
|
-
*/
|
|
1422
|
-
type?: "group" | "item";
|
|
1423
|
-
}>;
|
|
1424
|
-
/**
|
|
1425
|
-
* 选项菜单组件 配置选项
|
|
1426
|
-
* - value 已选的【选择项】;单选时,为【选择项】路径(父->子);其他情况为已选的【选择项】
|
|
1427
|
-
*/
|
|
1428
|
-
type SelectOptions<T> = ReadonlyOptions & PlaceholderOptions & SelectBaseOptions<T> & ValueOptions<SelectItem<T>[]> & {
|
|
1429
|
-
/** 父类<see cref="SelectBaseOptions"/>已有属性:
|
|
1430
|
-
* items 【选择项】集合
|
|
1431
|
-
* search 启用 【搜索】功能
|
|
1432
|
-
* searchPlaceholder 搜索框提示语
|
|
1433
|
-
* multiple 是否【多选模式】
|
|
1434
|
-
* showPath 显示选项路径
|
|
1435
|
-
* popupStyle 弹出的选项选择窗体样式
|
|
1508
|
+
* 排序组名称;
|
|
1509
|
+
* - 不传入时自动生成
|
|
1436
1510
|
*/
|
|
1511
|
+
name: string;
|
|
1437
1512
|
/**
|
|
1438
|
-
*
|
|
1439
|
-
* -
|
|
1440
|
-
* -
|
|
1513
|
+
* 定义从这个列表容器移动出去的设置
|
|
1514
|
+
* - true:列表容器内的列表单元可以被移出;
|
|
1515
|
+
* - false:列表容器内的列表单元不可以被移出;
|
|
1516
|
+
* - "clone":列表单元移出,移动的为该元素的副本;
|
|
1517
|
+
* - function:用来进行pull的函数判断,可以进行复杂逻辑,在函数中return false/true来判断是否移出;
|
|
1441
1518
|
*/
|
|
1442
|
-
|
|
1519
|
+
pull: true | false | "clone" | SortGroupHook;
|
|
1520
|
+
/**
|
|
1521
|
+
* 用来定义往这个列表容器放置列表单元的的设置
|
|
1522
|
+
* - true:列表容器可以从其他列表容器内放入列表单元;
|
|
1523
|
+
* - false:与true相反;
|
|
1524
|
+
* - string|string[]:代表的是group配置项里定义的name值。如['foo','bar']
|
|
1525
|
+
* - function:用来进行put的函数判断,可以进行复杂逻辑,在函数中return false/true来判断是否放入;
|
|
1526
|
+
*/
|
|
1527
|
+
put: true | false | string | string[] | SortGroupHook;
|
|
1443
1528
|
};
|
|
1444
1529
|
/**
|
|
1445
|
-
*
|
|
1530
|
+
* 排序组件的Group属性钩子
|
|
1531
|
+
* - 用于pull和put中使用,返回false时不执行pull、put操作
|
|
1532
|
+
* - @param item 移动的元素
|
|
1533
|
+
* - @param to 目标容器dom元素
|
|
1534
|
+
* - @param from 来源容器dom元素
|
|
1446
1535
|
*/
|
|
1447
|
-
type
|
|
1536
|
+
type SortGroupHook = (item: HTMLElement, to: HTMLElement, from: HTMLElement) => void;
|
|
1448
1537
|
/**
|
|
1449
|
-
*
|
|
1538
|
+
* 排序组件 事件
|
|
1450
1539
|
*/
|
|
1451
|
-
type
|
|
1540
|
+
type SortEvents = {
|
|
1452
1541
|
/**
|
|
1453
|
-
*
|
|
1454
|
-
* @param closeFollow 是否关闭【选择项】Follow弹窗
|
|
1455
|
-
* @param stopPropagation 是否停止事件冒泡
|
|
1542
|
+
* 开始拖拽
|
|
1456
1543
|
*/
|
|
1457
|
-
|
|
1458
|
-
};
|
|
1459
|
-
/**
|
|
1460
|
-
* 【选项菜单】 组件上下文
|
|
1461
|
-
*/
|
|
1462
|
-
interface ISelectContext<T> extends ITreeBaseContext<T> {
|
|
1544
|
+
start: [evt: SortEvent];
|
|
1463
1545
|
/**
|
|
1464
|
-
*
|
|
1465
|
-
* @param multiple 是否是【多选模式】
|
|
1466
|
-
* @param item 要判断的节点
|
|
1467
|
-
* @returns true 选中,false 未选中
|
|
1546
|
+
* 移动中
|
|
1468
1547
|
*/
|
|
1469
|
-
|
|
1548
|
+
move: [evt: SortEvent, originalEvent: SortEvent];
|
|
1470
1549
|
/**
|
|
1471
|
-
*
|
|
1472
|
-
* @param multiple 是否是【多选模式】
|
|
1473
|
-
* @param showPath 是否显示路径
|
|
1474
|
-
* @returns 已选【选择项】的展示文本
|
|
1550
|
+
* 移动到新容器时
|
|
1475
1551
|
*/
|
|
1476
|
-
|
|
1477
|
-
|
|
1478
|
-
|
|
1479
|
-
* 【选项菜单】 弹窗组件配置选项
|
|
1480
|
-
*/
|
|
1481
|
-
type SelectPopupOptions<T> = SelectBaseOptions<T> & {
|
|
1482
|
-
/** 父类<see cref="SelectBaseOptions"/>已有属性:
|
|
1483
|
-
* items 选择项 集合
|
|
1484
|
-
* search 启用 【搜索】功能
|
|
1485
|
-
* searchPlaceholder 搜索框提示语
|
|
1486
|
-
* multiple 是否【多选模式】
|
|
1552
|
+
add: [evt: SortEvent];
|
|
1553
|
+
/**
|
|
1554
|
+
* 从当前容器移除时
|
|
1487
1555
|
*/
|
|
1556
|
+
remove: [evt: SortEvent];
|
|
1488
1557
|
/**
|
|
1489
|
-
*
|
|
1558
|
+
* 结束拖拽
|
|
1490
1559
|
*/
|
|
1491
|
-
|
|
1560
|
+
end: [evt: SortEvent];
|
|
1492
1561
|
/**
|
|
1493
|
-
*
|
|
1494
|
-
*
|
|
1562
|
+
* 元素排序顺序变化
|
|
1563
|
+
* @param oldIndex 旧位置索引值
|
|
1564
|
+
* @param newIndex 新顺序索引值
|
|
1495
1565
|
*/
|
|
1496
|
-
|
|
1566
|
+
update: [oldIndex: number, newIndex: number];
|
|
1497
1567
|
};
|
|
1498
1568
|
/**
|
|
1499
|
-
*
|
|
1569
|
+
* 排序事件对象
|
|
1500
1570
|
*/
|
|
1501
|
-
type
|
|
1571
|
+
type SortEvent = {
|
|
1502
1572
|
/**
|
|
1503
|
-
*
|
|
1573
|
+
* 目标容器
|
|
1504
1574
|
*/
|
|
1505
|
-
|
|
1575
|
+
to: HTMLElement;
|
|
1506
1576
|
/**
|
|
1507
|
-
*
|
|
1508
|
-
* @param path 选中的【选择项】路径;父->子
|
|
1577
|
+
* 来源容器
|
|
1509
1578
|
*/
|
|
1510
|
-
|
|
1511
|
-
};
|
|
1512
|
-
/**
|
|
1513
|
-
* 【选项菜单】 弹窗组件扩展
|
|
1514
|
-
*/
|
|
1515
|
-
type SelectPopupExtend = {
|
|
1579
|
+
from: HTMLElement;
|
|
1516
1580
|
/**
|
|
1517
|
-
*
|
|
1518
|
-
* -
|
|
1519
|
-
* - 鼠标离开弹窗时,做延迟销毁;避免回到 此弹窗 的父【选择项】时,又重新打开此弹窗
|
|
1581
|
+
* 被移动的元素
|
|
1582
|
+
* - 在`group.pull`配置为 clone 时,此值为原始元素,复制元素放到原来位置了
|
|
1520
1583
|
*/
|
|
1521
|
-
|
|
1584
|
+
item: HTMLElement;
|
|
1522
1585
|
/**
|
|
1523
|
-
*
|
|
1524
|
-
* -
|
|
1586
|
+
* 副本的元素
|
|
1587
|
+
* - 在`group.pull`配置为 clone 时
|
|
1525
1588
|
*/
|
|
1526
|
-
|
|
1589
|
+
clone: HTMLElement;
|
|
1590
|
+
/**
|
|
1591
|
+
* 容器中的原序号
|
|
1592
|
+
*/
|
|
1593
|
+
oldIndex: number | undefined;
|
|
1594
|
+
/**
|
|
1595
|
+
* 容器中的新序号
|
|
1596
|
+
*/
|
|
1597
|
+
newIndex: number | undefined;
|
|
1527
1598
|
};
|
|
1599
|
+
|
|
1528
1600
|
/**
|
|
1529
|
-
*
|
|
1601
|
+
* 布局组件 数据结构
|
|
1530
1602
|
*/
|
|
1531
|
-
|
|
1603
|
+
|
|
1604
|
+
/**
|
|
1605
|
+
* 布局组件 配置选项
|
|
1606
|
+
*/
|
|
1607
|
+
type LayoutOptions = {
|
|
1532
1608
|
/**
|
|
1533
|
-
*
|
|
1609
|
+
* 布局方向
|
|
1610
|
+
* - horizontal 水平布局:左中右
|
|
1611
|
+
* - vertical 垂直布局:上中下
|
|
1612
|
+
* - 默认为 `horizontal`
|
|
1534
1613
|
*/
|
|
1535
|
-
|
|
1614
|
+
direction?: "horizontal" | "vertical";
|
|
1536
1615
|
/**
|
|
1537
|
-
*
|
|
1616
|
+
* 主内容区域配置
|
|
1617
|
+
* - 对应插槽名:main;主要内容显示区域,处于布局中的【中】区域
|
|
1618
|
+
* - 配置主内容区域的滚动条配置
|
|
1538
1619
|
*/
|
|
1539
|
-
|
|
1620
|
+
main?: Pick<LayoutAraeOptions<void>, "scroll" | "class">;
|
|
1540
1621
|
/**
|
|
1541
|
-
*
|
|
1622
|
+
* 【左侧】区域配置
|
|
1623
|
+
* - 对应插槽名`left` ;`mode` 为 `horizontal` 时生效
|
|
1624
|
+
* - 配置滚动条和宽度;宽度不配置时,默认 `fit-content`
|
|
1625
|
+
* -
|
|
1542
1626
|
*/
|
|
1543
|
-
|
|
1627
|
+
left?: LayoutAraeOptions<WidthStyle>;
|
|
1544
1628
|
/**
|
|
1545
|
-
*
|
|
1629
|
+
* 【右测】区域配置
|
|
1630
|
+
* - 对应插槽名`right` ;`mode` 为 `horizontal` 时生效
|
|
1631
|
+
* - 配置滚动条和宽度;宽度不配置时,默认 `fit-content`
|
|
1546
1632
|
*/
|
|
1547
|
-
|
|
1548
|
-
};
|
|
1549
|
-
/**
|
|
1550
|
-
* 【选项菜单】节点 组件事件
|
|
1551
|
-
*/
|
|
1552
|
-
type SelectNodeEvents<T> = {
|
|
1633
|
+
right?: LayoutAraeOptions<WidthStyle>;
|
|
1553
1634
|
/**
|
|
1554
|
-
*
|
|
1555
|
-
*
|
|
1556
|
-
*
|
|
1557
|
-
*
|
|
1635
|
+
* 【顶部】区域配置
|
|
1636
|
+
* - 对应插槽名`top`;`mode` 为 `vertical` 时生效
|
|
1637
|
+
* - 配置滚动条和高度;高度不配置时,默认 `fit-content`
|
|
1638
|
+
* -
|
|
1558
1639
|
*/
|
|
1559
|
-
|
|
1640
|
+
top?: LayoutAraeOptions<HeightStyle>;
|
|
1560
1641
|
/**
|
|
1561
|
-
*
|
|
1562
|
-
*
|
|
1563
|
-
*
|
|
1642
|
+
* 【底部】区域配置
|
|
1643
|
+
* - 对应插槽名`bottom`;`mode` 为 `vertical` 时生效
|
|
1644
|
+
* - 配置滚动条和高度;高度不配置时,默认 `fit-content`
|
|
1564
1645
|
*/
|
|
1565
|
-
|
|
1646
|
+
bottom?: LayoutAraeOptions<HeightStyle>;
|
|
1566
1647
|
};
|
|
1567
|
-
|
|
1568
|
-
/**
|
|
1569
|
-
* 基础事件实体
|
|
1570
|
-
* 1、把一些常用事件,封装为原子结构,方便复用
|
|
1571
|
-
* 2、不强制必须复用,根据自身情况
|
|
1572
|
-
*/
|
|
1573
1648
|
/**
|
|
1574
|
-
*
|
|
1649
|
+
* 布局组件子区域 配置选项
|
|
1575
1650
|
*/
|
|
1576
|
-
type
|
|
1651
|
+
type LayoutAraeOptions<Style extends WidthStyle | HeightStyle | void> = Style & CSSClassOptions & {
|
|
1577
1652
|
/**
|
|
1578
|
-
*
|
|
1653
|
+
* 滚动视图配置
|
|
1654
|
+
* - 视图属性:滚动条大小、显示时机
|
|
1655
|
+
* - 滚动事件:滚动条显隐、滚动到顶部、底部、、、
|
|
1656
|
+
* - 不传入则当前区域`overflow:hidden`溢出隐藏
|
|
1579
1657
|
*/
|
|
1580
|
-
|
|
1658
|
+
scroll?: ScrollOptions & EventsType<ScrollEvents>;
|
|
1581
1659
|
};
|
|
1582
1660
|
/**
|
|
1583
|
-
*
|
|
1584
|
-
* - 描述值的改变过程,新值是什么,改变前的旧值是什么
|
|
1661
|
+
* 布局组件的子区域项目 描述
|
|
1585
1662
|
*/
|
|
1586
|
-
type
|
|
1663
|
+
type LayoutAreaItem = {
|
|
1587
1664
|
/**
|
|
1588
|
-
*
|
|
1589
|
-
* @param newValue 新值
|
|
1590
|
-
* @param oldValue 旧值
|
|
1665
|
+
* 是否可滚动
|
|
1591
1666
|
*/
|
|
1592
|
-
|
|
1593
|
-
};
|
|
1594
|
-
/**
|
|
1595
|
-
* 事件:移动
|
|
1596
|
-
* - 可描述数据索引位置变化
|
|
1597
|
-
* - 可用于数组元素拖动排序,调整位置等逻辑
|
|
1598
|
-
*/
|
|
1599
|
-
type MoveEvents = {
|
|
1667
|
+
scrollable: boolean;
|
|
1600
1668
|
/**
|
|
1601
|
-
*
|
|
1602
|
-
* @param fromIndex 从哪个索引位置开始移动
|
|
1603
|
-
* @param toIndex 移动到的索引位置
|
|
1669
|
+
* 内容区域元素的类样式名
|
|
1604
1670
|
*/
|
|
1605
|
-
|
|
1671
|
+
class: string[];
|
|
1672
|
+
/**
|
|
1673
|
+
* css样式
|
|
1674
|
+
*/
|
|
1675
|
+
style: Record<string, string>;
|
|
1606
1676
|
};
|
|
1677
|
+
|
|
1607
1678
|
/**
|
|
1608
|
-
*
|
|
1609
|
-
* -
|
|
1679
|
+
* 动画组件配置选项
|
|
1680
|
+
* - 实现组件入/退场的动画效果
|
|
1610
1681
|
*/
|
|
1611
|
-
type
|
|
1682
|
+
type MotionOptions = {
|
|
1612
1683
|
/**
|
|
1613
|
-
*
|
|
1614
|
-
*
|
|
1684
|
+
* 是否是多元素模式
|
|
1685
|
+
* - 为true时,则使用 TransitionGroup 组件实现多元素间动画控制
|
|
1686
|
+
* - 为false时,则使用 Transition 组件实现单元素动画控制
|
|
1615
1687
|
*/
|
|
1616
|
-
|
|
1688
|
+
multiple?: boolean;
|
|
1689
|
+
/**
|
|
1690
|
+
* 动画效果
|
|
1691
|
+
* - 为Object时,显式指定 `enter`和`leave`样式,此时应使用`animation`实现动画样式
|
|
1692
|
+
* - - 可访问`MOTION`使用内置动画效果
|
|
1693
|
+
* - 为string时,为动画的根样式,实现动画效果时:
|
|
1694
|
+
* - - 入场动画:`${effect}.enter-active` `${effect}.enter-from` `${effect}.enter-to`
|
|
1695
|
+
* - - 退场动画:`${effect}.leave-active` `${effect}.leave-from` `${effect}.leave-to`
|
|
1696
|
+
* - 为空时,使用`MOTION.fade`值;
|
|
1697
|
+
*/
|
|
1698
|
+
effect?: MotionEffectOptions | string;
|
|
1699
|
+
/**
|
|
1700
|
+
* 动画持续时间,单位ms,默认200ms
|
|
1701
|
+
* - `>0`时生效,否则禁用动画
|
|
1702
|
+
*/
|
|
1703
|
+
duration?: number;
|
|
1704
|
+
/**
|
|
1705
|
+
* 动画模式
|
|
1706
|
+
* - default(默认) 入场和退场动画同时执行
|
|
1707
|
+
* - in-out 入场动画先执行,退场动画后执行
|
|
1708
|
+
* - out-in 退场动画先执行,入场动画后执行
|
|
1709
|
+
* - 在多个元素之间切换时生效,一个元素的显隐切换无效果
|
|
1710
|
+
*/
|
|
1711
|
+
mode?: "in-out" | "out-in" | "default";
|
|
1617
1712
|
};
|
|
1618
1713
|
/**
|
|
1619
|
-
*
|
|
1714
|
+
* 动画效果配置选项
|
|
1620
1715
|
*/
|
|
1621
|
-
type
|
|
1716
|
+
type MotionEffectOptions = {
|
|
1622
1717
|
/**
|
|
1623
|
-
*
|
|
1718
|
+
* 入场进入时的动画效果
|
|
1719
|
+
* - 用于初始化入场动画;最终映射成 Transition 组件的 `enter-active-class` 属性
|
|
1624
1720
|
*/
|
|
1625
|
-
|
|
1721
|
+
enter?: string;
|
|
1722
|
+
/**
|
|
1723
|
+
* 退场离开时的动画效果
|
|
1724
|
+
* - 用于初始化退场动画;最终映射成 Transition 组件的 `leave-active-class` 属性
|
|
1725
|
+
*/
|
|
1726
|
+
leave?: string;
|
|
1626
1727
|
};
|
|
1627
1728
|
|
|
1628
1729
|
/**
|
|
1629
|
-
*
|
|
1630
|
-
|
|
1631
|
-
|
|
1632
|
-
/**
|
|
1633
|
-
* 数值组件的基础配置选项
|
|
1730
|
+
* 折叠面板配置选项
|
|
1731
|
+
* - title 折叠面板标题
|
|
1732
|
+
* - disabled 禁用折叠效果,始终展开
|
|
1634
1733
|
*/
|
|
1635
|
-
type
|
|
1734
|
+
type FoldOptions = DisabledOptions & TitleOptions & {
|
|
1636
1735
|
/**
|
|
1637
|
-
*
|
|
1736
|
+
* 副标题
|
|
1737
|
+
* - 跟随在title后
|
|
1638
1738
|
*/
|
|
1639
|
-
|
|
1739
|
+
subtitle?: string;
|
|
1640
1740
|
/**
|
|
1641
|
-
*
|
|
1741
|
+
* 面板头部区域配置
|
|
1742
|
+
* - 如指定特定的css式
|
|
1642
1743
|
*/
|
|
1643
|
-
|
|
1744
|
+
header?: CSSClassOptions;
|
|
1644
1745
|
/**
|
|
1645
|
-
*
|
|
1646
|
-
* -
|
|
1647
|
-
* - - `keep` 保持原样值显示,不做任何处理
|
|
1648
|
-
* - - `clamp` 截断超出阈值值,低于最小值时直接取最小值,超过最大值时,强制值为最大值
|
|
1649
|
-
* - 值超过阈值时,会自动触发事件,事件名`NumberEvents`的`belowMin`和`exceedMax`
|
|
1746
|
+
* 面板内容区域配置
|
|
1747
|
+
* - 如指定特定的css样式
|
|
1650
1748
|
*/
|
|
1651
|
-
|
|
1749
|
+
body?: CSSClassOptions;
|
|
1750
|
+
};
|
|
1751
|
+
/**
|
|
1752
|
+
* 折叠状态
|
|
1753
|
+
* - expand : 展开状态
|
|
1754
|
+
* - fold : 折叠状态
|
|
1755
|
+
*/
|
|
1756
|
+
type FoldStatus = "expand" | "fold";
|
|
1757
|
+
/**
|
|
1758
|
+
* 折叠面板组件插槽句柄
|
|
1759
|
+
* - 将折叠面板状态和操作共享给插槽中自定义组件使用
|
|
1760
|
+
*/
|
|
1761
|
+
type FoldSlotHandle = {
|
|
1652
1762
|
/**
|
|
1653
|
-
*
|
|
1654
|
-
*
|
|
1655
|
-
* - 负数、不传入则不处理
|
|
1763
|
+
* 获取折叠面板状态
|
|
1764
|
+
* @returns
|
|
1656
1765
|
*/
|
|
1657
|
-
|
|
1766
|
+
getStatus(): FoldStatus;
|
|
1658
1767
|
/**
|
|
1659
|
-
*
|
|
1660
|
-
*
|
|
1661
|
-
* - `disabled` 禁用千分位功能
|
|
1662
|
-
* - `inline` 内联千分位功能
|
|
1663
|
-
* - `below` 下拉千分位功能
|
|
1768
|
+
* 设置折叠面板状态
|
|
1769
|
+
* @param status 新的状态
|
|
1664
1770
|
*/
|
|
1665
|
-
|
|
1771
|
+
setStatus(status: FoldStatus): void;
|
|
1666
1772
|
/**
|
|
1667
|
-
*
|
|
1668
|
-
*
|
|
1669
|
-
* - 单位自动为“元”,不支持美元等
|
|
1670
|
-
* - 如金额时,自动转为壹仟壹佰壹拾壹元叁角叁分
|
|
1671
|
-
* - 小数点后面只处理两位(角分);剩余不处理
|
|
1773
|
+
* 切换面板状态
|
|
1774
|
+
* @returns 新的状态
|
|
1672
1775
|
*/
|
|
1673
|
-
|
|
1776
|
+
toggle(): FoldStatus;
|
|
1777
|
+
};
|
|
1778
|
+
/**
|
|
1779
|
+
* 折叠面板事件
|
|
1780
|
+
*/
|
|
1781
|
+
type FoldEvents = {
|
|
1674
1782
|
/**
|
|
1675
|
-
*
|
|
1676
|
-
*
|
|
1677
|
-
* - 仅接收正整数,取值规则为10^n,默认1
|
|
1678
|
-
* - 千分位格式化时,仅`thousands`为`below`时才进行放到系数处理
|
|
1679
|
-
* - 使用示例例:金额是为万元单位时,这里的放大系数就为 “10000”
|
|
1783
|
+
* 折叠状态发生改变时
|
|
1784
|
+
* @param status 折叠状态
|
|
1680
1785
|
*/
|
|
1681
|
-
|
|
1682
|
-
/**
|
|
1683
|
-
* 前缀字符串
|
|
1684
|
-
* - 如金额时,可配置前缀 ¥
|
|
1685
|
-
*/
|
|
1686
|
-
prefix?: string;
|
|
1687
|
-
/**
|
|
1688
|
-
* 后缀字符串
|
|
1689
|
-
* - 如金额时,可配置后缀 元/美元、、
|
|
1690
|
-
*/
|
|
1691
|
-
suffix?: string;
|
|
1692
|
-
/**
|
|
1693
|
-
* 数值控制器
|
|
1694
|
-
* - 便捷加减调整数值的控制按钮
|
|
1695
|
-
* - 默认值`disabled`;可选值范围:
|
|
1696
|
-
* - - `disabled` 时禁用
|
|
1697
|
-
* - - `default` 默认模式,左侧 — 右侧 +
|
|
1698
|
-
* - - `right` 右侧模式,+ - 都在右侧
|
|
1699
|
-
*/
|
|
1700
|
-
controls?: "disabled" | "default" | "right";
|
|
1701
|
-
/**
|
|
1702
|
-
* 数值步长值
|
|
1703
|
-
* - `controls` 未禁用时生效
|
|
1704
|
-
* - 每次+、- 的步长值
|
|
1705
|
-
*/
|
|
1706
|
-
step?: number;
|
|
1786
|
+
change: [status: FoldStatus];
|
|
1707
1787
|
};
|
|
1788
|
+
|
|
1708
1789
|
/**
|
|
1709
|
-
*
|
|
1710
|
-
*/
|
|
1711
|
-
type NumberOptions = PlaceholderOptions & ReadonlyOptions & NumberBaseOptions;
|
|
1712
|
-
/**
|
|
1713
|
-
* 接口:数值格式化器
|
|
1790
|
+
* 弹性布局组件配置选项
|
|
1714
1791
|
*/
|
|
1715
|
-
|
|
1792
|
+
type FlexOptions = {
|
|
1716
1793
|
/**
|
|
1717
|
-
*
|
|
1718
|
-
*
|
|
1719
|
-
*
|
|
1720
|
-
*
|
|
1794
|
+
* 主轴方向
|
|
1795
|
+
* - css属性:flex-direction
|
|
1796
|
+
* - 取值范围:
|
|
1797
|
+
* - - row(默认值) 水平主轴,起点在左端
|
|
1798
|
+
* - - row-reverse 水平主轴,起点在右端
|
|
1799
|
+
* - - column 垂直主轴,起点在上沿
|
|
1800
|
+
* - - column-reverse 垂直主轴,起点在下沿
|
|
1721
1801
|
*/
|
|
1722
|
-
|
|
1802
|
+
direction?: "row" | "column" | "row-reverse" | "column-reverse";
|
|
1723
1803
|
/**
|
|
1724
|
-
*
|
|
1725
|
-
*
|
|
1726
|
-
*
|
|
1804
|
+
* 是否换行
|
|
1805
|
+
* - css属性:flex-wrap
|
|
1806
|
+
* - 取值范围:
|
|
1807
|
+
* - - nowrap(默认值) 不换行,所有 flex 项都排在一行
|
|
1808
|
+
* - - wrap 换行,第一行在上方
|
|
1809
|
+
* - - wrap-reverse 换行,第一行在下方
|
|
1727
1810
|
*/
|
|
1728
|
-
|
|
1729
|
-
number: number;
|
|
1730
|
-
belowMin: boolean;
|
|
1731
|
-
exceedMax: boolean;
|
|
1732
|
-
};
|
|
1811
|
+
wrap?: "nowrap" | "wrap" | "wrap-reverse";
|
|
1733
1812
|
/**
|
|
1734
|
-
*
|
|
1735
|
-
*
|
|
1736
|
-
*
|
|
1813
|
+
* 行与列之间的间隙(网格间距)
|
|
1814
|
+
* - css属性:gap
|
|
1815
|
+
* - row-gap、column-gap的缩写
|
|
1816
|
+
* - 举例:gap: "10px 20px" 表示行间距为10px,列间距为20px;gap: "10px" 表示行间距和列间距都为10px
|
|
1737
1817
|
*/
|
|
1738
|
-
|
|
1818
|
+
gap?: string;
|
|
1739
1819
|
/**
|
|
1740
|
-
*
|
|
1741
|
-
*
|
|
1742
|
-
*
|
|
1820
|
+
* 主轴对齐方式
|
|
1821
|
+
* - css属性:justify-content
|
|
1822
|
+
* - 取值范围:
|
|
1823
|
+
* - - start(默认值) 主轴起点对齐
|
|
1824
|
+
* - - end 主轴终点对齐
|
|
1825
|
+
* - - center 主轴居中对齐
|
|
1826
|
+
* - - between 主轴两端对齐,项目之间间隔平均分布
|
|
1827
|
+
* - - around 主轴每个项目两侧间隔平均分布
|
|
1828
|
+
* - - evenly 主轴每个项目之间间隔平均分布
|
|
1743
1829
|
*/
|
|
1744
|
-
|
|
1830
|
+
main?: "start" | "end" | "center" | "between" | "around" | "evenly";
|
|
1745
1831
|
/**
|
|
1746
|
-
*
|
|
1747
|
-
*
|
|
1748
|
-
*
|
|
1749
|
-
*
|
|
1832
|
+
* 交叉轴对齐方式
|
|
1833
|
+
* - css属性:align-items
|
|
1834
|
+
* - 取值范围:
|
|
1835
|
+
* - - stretch(默认值) 交叉轴拉伸对齐(如果项目未设置高度或设为 auto,将占满整个交叉轴)
|
|
1836
|
+
* - - start 交叉轴起点对齐
|
|
1837
|
+
* - - end 交叉轴终点对齐
|
|
1838
|
+
* - - center 交叉轴居中对齐
|
|
1839
|
+
* - - baseline 交叉轴第一行文字基线对齐
|
|
1750
1840
|
*/
|
|
1751
|
-
|
|
1752
|
-
}
|
|
1753
|
-
/**
|
|
1754
|
-
* 数值格式化结果
|
|
1755
|
-
*/
|
|
1756
|
-
type NumberFormatResult = {
|
|
1841
|
+
cross?: "start" | "end" | "center" | "stretch" | "baseline";
|
|
1757
1842
|
/**
|
|
1758
|
-
*
|
|
1759
|
-
* -
|
|
1843
|
+
* 多行时的交叉轴对齐方式
|
|
1844
|
+
* - css属性:align-content
|
|
1845
|
+
* - 取值范围:
|
|
1846
|
+
* - - stretch(默认值) 交叉轴拉伸对齐(如果项目未设置高度或设为 auto,将占满整个交叉轴)
|
|
1847
|
+
* - - start 交叉轴起点对齐
|
|
1848
|
+
* - - end 交叉轴终点对齐
|
|
1849
|
+
* - - center 交叉轴居中对齐
|
|
1850
|
+
* - - between 交叉轴两端对齐,行之间间隔平均分布
|
|
1851
|
+
* - - around 交叉轴每行两侧间隔平均分布
|
|
1852
|
+
* - - evenly 交叉轴每行之间间隔平均分布
|
|
1760
1853
|
*/
|
|
1761
|
-
|
|
1854
|
+
content?: "start" | "end" | "center" | "stretch" | "between" | "around" | "evenly";
|
|
1762
1855
|
/**
|
|
1763
|
-
*
|
|
1764
|
-
* -
|
|
1856
|
+
* 启用子项修复
|
|
1857
|
+
* - 在`justify-content`启用`space-`相关属性时,子项之间会有间隔,当子项数量较少时,可能出现空间过大的问题,特别时多行的最后一样时
|
|
1858
|
+
* - 启动后,会基于子项数量补全最后一行缺失的子项数量,来修复空间过大的问题
|
|
1859
|
+
* - 推荐仅在所有子项主轴方向尺寸一样时,否则修复可能不准确
|
|
1765
1860
|
*/
|
|
1766
|
-
|
|
1861
|
+
repairItem?: boolean;
|
|
1767
1862
|
/**
|
|
1768
|
-
*
|
|
1769
|
-
* -
|
|
1770
|
-
* -
|
|
1863
|
+
* flex容器的子项数量
|
|
1864
|
+
* - 配合 `repairSpace` 构建修复空间的子项数量
|
|
1865
|
+
* - 当 `repairSpace` 启用时,自动监听子项数量变化来动态调整修复空间的子项数量;不启用时忽略
|
|
1771
1866
|
*/
|
|
1772
|
-
|
|
1867
|
+
itemCount?: number;
|
|
1773
1868
|
/**
|
|
1774
|
-
*
|
|
1775
|
-
* -
|
|
1869
|
+
* flex容器的子项标签名
|
|
1870
|
+
* - 配合 `repairSpace` 构建修复空间的子项元素标签名
|
|
1871
|
+
* - 默认值为`div`,即子项元素为`<div>`标签
|
|
1872
|
+
* - 可配置为其他标签名,如`span`,则子项元素为`<span>`标签
|
|
1776
1873
|
*/
|
|
1777
|
-
|
|
1874
|
+
itemTag?: string;
|
|
1778
1875
|
/**
|
|
1779
|
-
*
|
|
1780
|
-
* -
|
|
1781
|
-
* -
|
|
1876
|
+
* flex容器的子项类样式名
|
|
1877
|
+
* - 配合 `repairSpace` 构建修复空间的子项元素类样式名
|
|
1878
|
+
* - 推荐设置为一个固定值的类样式名,如`flex-item`,来方便用户通过该类样式名来设置子项元素的样式
|
|
1879
|
+
* - 构建的子项,会自动追加一个 "repair-item”的类样式名,来方便用户通过该类样式名来设置修复空间子项元素的样式
|
|
1782
1880
|
*/
|
|
1783
|
-
|
|
1881
|
+
itemClass?: string;
|
|
1882
|
+
};
|
|
1883
|
+
|
|
1884
|
+
/**
|
|
1885
|
+
* 弹性容器组件 配置选项
|
|
1886
|
+
*/
|
|
1887
|
+
type ElasticOptions = ScrollOptions & {
|
|
1784
1888
|
/**
|
|
1785
|
-
*
|
|
1786
|
-
* -
|
|
1787
|
-
* -
|
|
1889
|
+
* 滚动条弹簧效果
|
|
1890
|
+
* - x 仅在x轴方向上启用弹簧效果
|
|
1891
|
+
* - y 仅在y轴方向上启用弹簧效果
|
|
1892
|
+
* - both :同时启用x轴和y轴的弹簧效果
|
|
1788
1893
|
*/
|
|
1789
|
-
|
|
1894
|
+
spring?: "x" | "y" | "both";
|
|
1790
1895
|
/**
|
|
1791
|
-
*
|
|
1792
|
-
* -
|
|
1896
|
+
* 是否启用【下拉刷新】功能
|
|
1897
|
+
* - `spring` 为 `y/both`时生效
|
|
1898
|
+
* - 满足下拉刷新条件后,触发`refresh`事件,处理完成后调用resolve函数,通知完成刷新数据操作
|
|
1793
1899
|
*/
|
|
1794
|
-
|
|
1900
|
+
downRefresh?: boolean;
|
|
1795
1901
|
/**
|
|
1796
|
-
*
|
|
1902
|
+
* 是否启用【上拉加载】功能
|
|
1903
|
+
* - `spring` 为 `y/both`时生效
|
|
1904
|
+
* - 满足上拉加载条件后,触发`more`事件,处理完成后调用resolve函数,通知完成加载数据操作
|
|
1797
1905
|
*/
|
|
1798
|
-
|
|
1906
|
+
upMore?: boolean;
|
|
1907
|
+
};
|
|
1908
|
+
/**
|
|
1909
|
+
* 弹性容器组件 事件监听
|
|
1910
|
+
*/
|
|
1911
|
+
type ElasticEvents = ScrollEvents & {
|
|
1799
1912
|
/**
|
|
1800
|
-
*
|
|
1913
|
+
* 刷新数据
|
|
1914
|
+
* - 配合 `downRefresh`实现下拉刷新功能
|
|
1915
|
+
* @param resolve 处理完成后调用resolve函数,通知完成刷新数据操作
|
|
1801
1916
|
*/
|
|
1802
|
-
|
|
1917
|
+
refresh: [resolve: () => void];
|
|
1803
1918
|
/**
|
|
1804
|
-
*
|
|
1919
|
+
* 加载更多
|
|
1920
|
+
* - 配合 `upMore`实现上拉加载功能
|
|
1921
|
+
* @param resolve 处理完成后调用resolve函数,通知完成加载数据操作
|
|
1805
1922
|
*/
|
|
1806
|
-
|
|
1923
|
+
more: [resolve: () => void];
|
|
1807
1924
|
};
|
|
1808
1925
|
/**
|
|
1809
|
-
*
|
|
1926
|
+
* 弹性组件 对外暴露属性接口
|
|
1810
1927
|
*/
|
|
1811
|
-
type
|
|
1928
|
+
type ElasticExpose = {
|
|
1812
1929
|
/**
|
|
1813
|
-
*
|
|
1814
|
-
* -
|
|
1815
|
-
*
|
|
1816
|
-
* @param reason 错误原因
|
|
1930
|
+
* 加载刷新数据
|
|
1931
|
+
* - 触发下拉刷新数据
|
|
1932
|
+
* @returns 异步任务对象,外部感知任务执行完成
|
|
1817
1933
|
*/
|
|
1818
|
-
|
|
1934
|
+
loadRefresh(): Promise<void>;
|
|
1819
1935
|
/**
|
|
1820
|
-
*
|
|
1821
|
-
*
|
|
1822
|
-
* @
|
|
1936
|
+
* 加载更多数据
|
|
1937
|
+
* - 触发上拉加载更多数据
|
|
1938
|
+
* @returns 异步任务对象,外部感知任务执行完成
|
|
1823
1939
|
*/
|
|
1824
|
-
|
|
1940
|
+
loadMore(): Promise<void>;
|
|
1941
|
+
};
|
|
1942
|
+
/**
|
|
1943
|
+
* 弹性组件的弹簧状态信息
|
|
1944
|
+
*/
|
|
1945
|
+
type ElasticSpringStatus = {
|
|
1946
|
+
x: number | undefined;
|
|
1825
1947
|
/**
|
|
1826
|
-
*
|
|
1827
|
-
* @param value 当前值
|
|
1828
|
-
* @param maxValue 最大值
|
|
1948
|
+
* y轴方向的橡皮筋效果偏移量
|
|
1829
1949
|
*/
|
|
1830
|
-
|
|
1950
|
+
y: number | undefined;
|
|
1831
1951
|
};
|
|
1832
1952
|
|
|
1833
1953
|
/**
|
|
1834
|
-
*
|
|
1835
|
-
* - title 作为鼠标移入图标时的提示
|
|
1954
|
+
* 选项菜单 基础配置选项
|
|
1836
1955
|
*/
|
|
1837
|
-
type
|
|
1956
|
+
type SelectBaseOptions<T> = {
|
|
1838
1957
|
/**
|
|
1839
|
-
*
|
|
1840
|
-
* - 为true时,外部通过插槽自己绘制图标
|
|
1841
|
-
* - 为false时,使用`type`值绘制对应的内置图标
|
|
1842
|
-
* - 默认false
|
|
1958
|
+
* 【选择项】集合
|
|
1843
1959
|
*/
|
|
1844
|
-
|
|
1960
|
+
items: SelectItem<T>[];
|
|
1845
1961
|
/**
|
|
1846
|
-
*
|
|
1847
|
-
* -
|
|
1962
|
+
* 搜索功能配置
|
|
1963
|
+
* - 不配置则不启用【搜索】功能
|
|
1848
1964
|
*/
|
|
1849
|
-
|
|
1965
|
+
search?: SearchOptions;
|
|
1850
1966
|
/**
|
|
1851
|
-
*
|
|
1852
|
-
* - true
|
|
1967
|
+
* 是否【多选模式】
|
|
1968
|
+
* - 为true时,多选,【选择项】后面出【选择】框;底部出【全选】和【清空已选】
|
|
1969
|
+
* - items为多级时,不支持【多选模式】;传入会报错
|
|
1853
1970
|
*/
|
|
1854
|
-
|
|
1971
|
+
multiple?: boolean;
|
|
1855
1972
|
/**
|
|
1856
|
-
*
|
|
1857
|
-
* -
|
|
1858
|
-
* -
|
|
1859
|
-
* - 默认 24
|
|
1973
|
+
* 是否显示【路径】
|
|
1974
|
+
* - 为true时,显示选项的父级文本路径,用“ / ”分割
|
|
1975
|
+
* - 仅针对【单选模式】生效
|
|
1860
1976
|
*/
|
|
1861
|
-
|
|
1862
|
-
width?: number;
|
|
1863
|
-
height?: number;
|
|
1864
|
-
};
|
|
1977
|
+
showPath?: boolean;
|
|
1865
1978
|
/**
|
|
1866
|
-
*
|
|
1979
|
+
* 是否显示【清空已选】按钮
|
|
1980
|
+
* - true:则在弹窗的底部显示【清空已选】按钮,点击时清空所有已选选项
|
|
1981
|
+
* - 若存在多级选项,仅在第一级弹窗中显示
|
|
1867
1982
|
*/
|
|
1868
|
-
|
|
1983
|
+
showClear?: boolean;
|
|
1869
1984
|
/**
|
|
1870
|
-
*
|
|
1985
|
+
* 选择项 follow弹窗样式
|
|
1986
|
+
* - 支持指定弹窗高度,如最大高度,不指定则默认尽可能展示全
|
|
1871
1987
|
*/
|
|
1872
|
-
|
|
1988
|
+
popupStyle?: HeightStyle;
|
|
1989
|
+
};
|
|
1990
|
+
/**
|
|
1991
|
+
* 选项菜单 基础事件
|
|
1992
|
+
*/
|
|
1993
|
+
type SelectBaseEvents<T> = {
|
|
1873
1994
|
/**
|
|
1874
|
-
*
|
|
1875
|
-
* -
|
|
1876
|
-
* - 通过:transform: rotate(1.06); 实现
|
|
1995
|
+
* 选中的【选择项】改变时
|
|
1996
|
+
* - @param values 已选的【选择项】,未选中则为空数组:单选时,为【选择项】路径(父->子);其他情况为已选的【选择项】
|
|
1877
1997
|
*/
|
|
1878
|
-
|
|
1998
|
+
change: [values: SelectItem<T>[]];
|
|
1999
|
+
};
|
|
2000
|
+
/**
|
|
2001
|
+
* 选项菜单组件的【选择项】
|
|
2002
|
+
*/
|
|
2003
|
+
type SelectItem<T> = TreeNode<T, TreeNodeExtend & {
|
|
1879
2004
|
/**
|
|
1880
|
-
|
|
1881
|
-
|
|
2005
|
+
* 节点类型
|
|
2006
|
+
* - group 分组选择项;可包含子节点
|
|
2007
|
+
* - item 选择项;默认值;不可包含子节点,即使传入也会忽略
|
|
2008
|
+
*/
|
|
2009
|
+
type?: "group" | "item";
|
|
2010
|
+
}>;
|
|
2011
|
+
/**
|
|
2012
|
+
* 选项菜单组件 配置选项
|
|
2013
|
+
* - value 已选的【选择项】;单选时,为【选择项】路径(父->子);其他情况为已选的【选择项】
|
|
2014
|
+
*/
|
|
2015
|
+
type SelectOptions<T> = ReadonlyOptions & PlaceholderOptions & SelectBaseOptions<T> & ValueOptions<SelectItem<T>[]> & {
|
|
2016
|
+
/** 父类<see cref="SelectBaseOptions"/>已有属性:
|
|
2017
|
+
* items 【选择项】集合
|
|
2018
|
+
* search 启用 【搜索】功能
|
|
2019
|
+
* searchPlaceholder 搜索框提示语
|
|
2020
|
+
* multiple 是否【多选模式】
|
|
2021
|
+
* showPath 显示选项路径
|
|
2022
|
+
* popupStyle 弹出的选项选择窗体样式
|
|
1882
2023
|
*/
|
|
1883
|
-
opacity?: number;
|
|
1884
2024
|
/**
|
|
1885
|
-
*
|
|
1886
|
-
* -
|
|
1887
|
-
* -
|
|
2025
|
+
* 选项分隔符
|
|
2026
|
+
* - 单选有多级时的分割路径;默认为 /
|
|
2027
|
+
* - 多选时分割多个选项;默认为 、
|
|
1888
2028
|
*/
|
|
1889
|
-
|
|
2029
|
+
separator?: string;
|
|
1890
2030
|
};
|
|
1891
2031
|
/**
|
|
1892
|
-
*
|
|
1893
|
-
* - 状态类:
|
|
1894
|
-
* - - success 成功图标,对勾
|
|
1895
|
-
* - - error 错误
|
|
1896
|
-
* - - warn 警告图标
|
|
1897
|
-
* - 操作类:
|
|
1898
|
-
* - - close 关闭 用作数据删除,弹窗关闭
|
|
1899
|
-
* - - trash 垃圾桶图标,常用于【删除】操作
|
|
1900
|
-
* - - download 下载
|
|
1901
|
-
* - - print 打印
|
|
1902
|
-
* - - edit 编辑
|
|
1903
|
-
* - 指向类:
|
|
1904
|
-
* - - arrow 向右箭头
|
|
1905
|
-
* - - datepicker 日期选择器
|
|
1906
|
-
* - - timepicker 时间选择器
|
|
1907
|
-
* - 其他类:
|
|
1908
|
-
* - - plus 加号
|
|
1909
|
-
* - - subtract 减号
|
|
1910
|
-
* - - more 更多,默认垂直三个点
|
|
1911
|
-
* - - grip 紧握图标,垂直方向,一般用于拖动句柄
|
|
1912
|
-
*/
|
|
1913
|
-
type IconType = "success" | "error" | "warn" | "close" | "trash" | "download" | "print" | "edit" | "arrow" | "datepicker" | "timepicker" | "plus" | "subtract" | "more" | "grip";
|
|
1914
|
-
|
|
1915
|
-
/**
|
|
1916
|
-
* 检查选项 数据结构
|
|
2032
|
+
* 选项菜单 组件 事件
|
|
1917
2033
|
*/
|
|
1918
|
-
|
|
2034
|
+
type SelectEvents<T> = SelectBaseEvents<T> & {};
|
|
1919
2035
|
/**
|
|
1920
|
-
*
|
|
2036
|
+
* 选项菜单 组件的Slot配置选项
|
|
1921
2037
|
*/
|
|
1922
|
-
type
|
|
1923
|
-
/**
|
|
1924
|
-
* 是否为多选模式
|
|
1925
|
-
* - true 多选模式,可以选中items中多个选项
|
|
1926
|
-
* - false 单选模式,只能选中items中的一个选项
|
|
1927
|
-
*/
|
|
1928
|
-
multi?: boolean;
|
|
1929
|
-
/**
|
|
1930
|
-
* 选项类型
|
|
1931
|
-
* - radio: 单选框样式
|
|
1932
|
-
* - checkbox: 多选框样式
|
|
1933
|
-
*/
|
|
1934
|
-
type: "radio" | "checkbox";
|
|
1935
|
-
/**
|
|
1936
|
-
* 显示模式
|
|
1937
|
-
* - native 原生默认,浏览器自己渲染;不同浏览器效果不一致
|
|
1938
|
-
* - beautiful 美化模式,不同浏览器下效果通义
|
|
1939
|
-
*/
|
|
1940
|
-
mode?: "native" | "beautiful";
|
|
2038
|
+
type SelectSlotOptions = {
|
|
1941
2039
|
/**
|
|
1942
|
-
*
|
|
1943
|
-
*
|
|
1944
|
-
*
|
|
1945
|
-
* - - horizontal 水平布局;所有选项一行
|
|
1946
|
-
* - - vertical 垂直布局;每个选项一行
|
|
2040
|
+
* 清空已选【选择项】
|
|
2041
|
+
* @param closeFollow 是否关闭【选择项】Follow弹窗
|
|
2042
|
+
* @param stopPropagation 是否停止事件冒泡
|
|
1947
2043
|
*/
|
|
1948
|
-
|
|
2044
|
+
clear(closeFollow: boolean, stopPropagation: boolean): void;
|
|
2045
|
+
};
|
|
2046
|
+
/**
|
|
2047
|
+
* 【选项菜单】 组件上下文
|
|
2048
|
+
*/
|
|
2049
|
+
interface ISelectContext<T> extends ITreeBaseContext<T> {
|
|
1949
2050
|
/**
|
|
1950
|
-
*
|
|
1951
|
-
*
|
|
2051
|
+
* 指定节点是否选中了
|
|
2052
|
+
* @param multiple 是否是【多选模式】
|
|
2053
|
+
* @param item 要判断的节点
|
|
2054
|
+
* @returns true 选中,false 未选中
|
|
1952
2055
|
*/
|
|
1953
|
-
|
|
2056
|
+
selected(multiple: boolean, item: SelectItem<T>): boolean;
|
|
1954
2057
|
/**
|
|
1955
|
-
*
|
|
1956
|
-
*
|
|
2058
|
+
* 获取已选【选择项】的展示文本
|
|
2059
|
+
* @param multiple 是否是【多选模式】
|
|
2060
|
+
* @param showPath 是否显示路径
|
|
2061
|
+
* @returns 已选【选择项】的展示文本
|
|
1957
2062
|
*/
|
|
1958
|
-
|
|
1959
|
-
}
|
|
2063
|
+
selectedText(multiple: boolean, showPath: boolean): string;
|
|
2064
|
+
}
|
|
1960
2065
|
/**
|
|
1961
|
-
*
|
|
2066
|
+
* 【选项菜单】 弹窗组件配置选项
|
|
1962
2067
|
*/
|
|
1963
|
-
type
|
|
1964
|
-
/**
|
|
1965
|
-
*
|
|
2068
|
+
type SelectPopupOptions<T> = SelectBaseOptions<T> & {
|
|
2069
|
+
/** 父类<see cref="SelectBaseOptions"/>已有属性:
|
|
2070
|
+
* items 选择项 集合
|
|
2071
|
+
* search 启用 【搜索】功能
|
|
2072
|
+
* searchPlaceholder 搜索框提示语
|
|
2073
|
+
* multiple 是否【多选模式】
|
|
1966
2074
|
*/
|
|
1967
|
-
text?: string;
|
|
1968
2075
|
/**
|
|
1969
|
-
*
|
|
2076
|
+
* 树形上下文
|
|
1970
2077
|
*/
|
|
1971
|
-
|
|
2078
|
+
context: ISelectContext<T>;
|
|
1972
2079
|
/**
|
|
1973
|
-
*
|
|
2080
|
+
* 第几级 选项弹窗
|
|
2081
|
+
* - 从1开始
|
|
1974
2082
|
*/
|
|
1975
|
-
|
|
2083
|
+
level: number;
|
|
1976
2084
|
};
|
|
1977
2085
|
/**
|
|
1978
|
-
*
|
|
2086
|
+
* 【选项菜单】 弹窗组件事件
|
|
1979
2087
|
*/
|
|
1980
|
-
type
|
|
2088
|
+
type SelectPopupEvents<T> = {
|
|
1981
2089
|
/**
|
|
1982
|
-
*
|
|
1983
|
-
* - values 为当前选中值;单选时为单个值,多选时为值数组
|
|
2090
|
+
* 清空选项
|
|
1984
2091
|
*/
|
|
1985
|
-
|
|
2092
|
+
clear: [];
|
|
2093
|
+
/**
|
|
2094
|
+
* 选项点击事件
|
|
2095
|
+
* @param path 选中的【选择项】路径;父->子
|
|
2096
|
+
*/
|
|
2097
|
+
click: [path: SelectItem<T>[]];
|
|
1986
2098
|
};
|
|
1987
|
-
|
|
1988
2099
|
/**
|
|
1989
|
-
*
|
|
2100
|
+
* 【选项菜单】 弹窗组件扩展
|
|
1990
2101
|
*/
|
|
1991
|
-
type
|
|
2102
|
+
type SelectPopupExtend = {
|
|
1992
2103
|
/**
|
|
1993
|
-
*
|
|
1994
|
-
* -
|
|
1995
|
-
* -
|
|
1996
|
-
* - normal : 54 X 28
|
|
1997
|
-
* - small : 30 X 20
|
|
2104
|
+
* 子选项弹窗的销毁定时器
|
|
2105
|
+
* - 父级弹窗可根据需要销毁定时器,取消子选择弹窗销毁
|
|
2106
|
+
* - 鼠标离开弹窗时,做延迟销毁;避免回到 此弹窗 的父【选择项】时,又重新打开此弹窗
|
|
1998
2107
|
*/
|
|
1999
|
-
|
|
2108
|
+
childDestroyTimer: ShallowRef<IScope>;
|
|
2000
2109
|
/**
|
|
2001
|
-
*
|
|
2002
|
-
*
|
|
2003
|
-
* - default: 默认按钮:白色背景
|
|
2004
|
-
* - link :链接式按钮:蓝色字体颜色,无边框
|
|
2110
|
+
* 父级弹窗的pin状态
|
|
2111
|
+
* - 可在子弹窗中设置为true,这样父级弹窗就不会自动关闭了
|
|
2005
2112
|
*/
|
|
2006
|
-
|
|
2113
|
+
parentPinned: ShallowRef<boolean>;
|
|
2007
2114
|
};
|
|
2008
|
-
|
|
2009
2115
|
/**
|
|
2010
|
-
*
|
|
2011
|
-
* - disabled 为true时,不响应操作项触发
|
|
2116
|
+
* 【选项菜单】节点 组件配置选项
|
|
2012
2117
|
*/
|
|
2013
|
-
type
|
|
2118
|
+
type SelectNodeOptions<T> = {
|
|
2014
2119
|
/**
|
|
2015
|
-
*
|
|
2016
|
-
* - always :始终显示一个触发图标,点击图标弹出操作项
|
|
2017
|
-
* - hover:鼠标移入显示一个触发图标,点击图标弹出操作项
|
|
2018
|
-
* - long-press:长摁直接弹出操作项
|
|
2120
|
+
* 是否为【多选模式】
|
|
2019
2121
|
*/
|
|
2020
|
-
|
|
2122
|
+
multiple: boolean;
|
|
2021
2123
|
/**
|
|
2022
|
-
*
|
|
2023
|
-
* - popup:弹出显示操作项
|
|
2024
|
-
* - inline:内联显示操作项
|
|
2124
|
+
* 要展示的节点
|
|
2025
2125
|
*/
|
|
2126
|
+
item: SelectItem<T>;
|
|
2026
2127
|
/**
|
|
2027
|
-
*
|
|
2128
|
+
* 树形上下文
|
|
2028
2129
|
*/
|
|
2029
|
-
|
|
2130
|
+
context: ISelectContext<T>;
|
|
2131
|
+
/**
|
|
2132
|
+
* 是否显示子节点
|
|
2133
|
+
*/
|
|
2134
|
+
showChildren: boolean;
|
|
2030
2135
|
};
|
|
2031
2136
|
/**
|
|
2032
|
-
*
|
|
2137
|
+
* 【选项菜单】节点 组件事件
|
|
2033
2138
|
*/
|
|
2034
|
-
type
|
|
2139
|
+
type SelectNodeEvents<T> = {
|
|
2035
2140
|
/**
|
|
2036
|
-
*
|
|
2037
|
-
*
|
|
2038
|
-
*
|
|
2141
|
+
* 鼠标进入事件
|
|
2142
|
+
* @param el 【选择项】节点dom元素
|
|
2143
|
+
* @param item 【选择项】
|
|
2144
|
+
* @param parent 父节点
|
|
2039
2145
|
*/
|
|
2040
|
-
|
|
2146
|
+
enter: [el: HTMLDivElement, item: SelectItem<T>, parent?: SelectItem<T>];
|
|
2041
2147
|
/**
|
|
2042
|
-
*
|
|
2148
|
+
* 点击事件
|
|
2149
|
+
* @param item 【选择项】
|
|
2150
|
+
* @param parent 父节点
|
|
2043
2151
|
*/
|
|
2044
|
-
|
|
2152
|
+
click: [item: SelectItem<T>, parent?: SelectItem<T>];
|
|
2045
2153
|
};
|
|
2154
|
+
|
|
2046
2155
|
/**
|
|
2047
|
-
*
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
/**
|
|
2056
|
-
* 操作项名称
|
|
2057
|
-
* - 确保唯一
|
|
2058
|
-
*/
|
|
2059
|
-
name: string;
|
|
2060
|
-
/**
|
|
2061
|
-
* 操作项颜色
|
|
2062
|
-
*/
|
|
2063
|
-
color?: string;
|
|
2064
|
-
/**
|
|
2065
|
-
* 操作项移入时颜色
|
|
2066
|
-
*/
|
|
2067
|
-
hoverColor?: string;
|
|
2156
|
+
* 基础事件实体
|
|
2157
|
+
* 1、把一些常用事件,封装为原子结构,方便复用
|
|
2158
|
+
* 2、不强制必须复用,根据自身情况
|
|
2159
|
+
*/
|
|
2160
|
+
/**
|
|
2161
|
+
* 事件:点击
|
|
2162
|
+
*/
|
|
2163
|
+
type ClickEvents = {
|
|
2068
2164
|
/**
|
|
2069
|
-
*
|
|
2165
|
+
* 单击事件
|
|
2166
|
+
* @param evt 事件对象
|
|
2070
2167
|
*/
|
|
2071
|
-
|
|
2168
|
+
click: [evt?: MouseEvent | TouchEvent | PointerEvent];
|
|
2072
2169
|
};
|
|
2073
2170
|
/**
|
|
2074
|
-
*
|
|
2171
|
+
* 事件:值改变
|
|
2172
|
+
* - 描述值的改变过程,新值是什么,改变前的旧值是什么
|
|
2075
2173
|
*/
|
|
2076
|
-
type
|
|
2077
|
-
/**
|
|
2078
|
-
* 操作项是否激活显示
|
|
2079
|
-
*/
|
|
2080
|
-
isActived(): boolean;
|
|
2174
|
+
type ChangeEvents<T> = {
|
|
2081
2175
|
/**
|
|
2082
|
-
*
|
|
2176
|
+
* 值改变;约束新旧值
|
|
2177
|
+
* @param newValue 新值
|
|
2178
|
+
* @param oldValue 旧值
|
|
2083
2179
|
*/
|
|
2084
|
-
|
|
2180
|
+
change: [newValue: T, oldValue?: T];
|
|
2085
2181
|
};
|
|
2086
2182
|
/**
|
|
2087
|
-
*
|
|
2183
|
+
* 事件:移动
|
|
2184
|
+
* - 可描述数据索引位置变化
|
|
2185
|
+
* - 可用于数组元素拖动排序,调整位置等逻辑
|
|
2088
2186
|
*/
|
|
2089
|
-
type
|
|
2187
|
+
type MoveEvents = {
|
|
2090
2188
|
/**
|
|
2091
|
-
*
|
|
2092
|
-
* @param
|
|
2189
|
+
* 移动事件
|
|
2190
|
+
* @param fromIndex 从哪个索引位置开始移动
|
|
2191
|
+
* @param toIndex 移动到的索引位置
|
|
2093
2192
|
*/
|
|
2094
|
-
|
|
2193
|
+
move: [fromIndex: number, toIndex: number];
|
|
2095
2194
|
};
|
|
2096
|
-
|
|
2097
2195
|
/**
|
|
2098
|
-
*
|
|
2099
|
-
* -
|
|
2100
|
-
* - 暂不提供 disabled 逻辑
|
|
2196
|
+
* 事件:删除数据
|
|
2197
|
+
* - 描述要删除的具体数据
|
|
2101
2198
|
*/
|
|
2102
|
-
type
|
|
2103
|
-
/**
|
|
2104
|
-
* 输入框类型
|
|
2105
|
-
* - text: 文本输入框
|
|
2106
|
-
* - number: 数字输入框
|
|
2107
|
-
* - password: 密码输入框
|
|
2108
|
-
*/
|
|
2109
|
-
type?: "text" | "number" | "password";
|
|
2110
|
-
/**
|
|
2111
|
-
* 输入框是否必填
|
|
2112
|
-
* - 必填,则验证不通过时,显示错误信息
|
|
2113
|
-
* - 必填时,显示必填标记,红色 * 号
|
|
2114
|
-
*/
|
|
2115
|
-
required?: boolean;
|
|
2199
|
+
type DeleteEvents<T> = {
|
|
2116
2200
|
/**
|
|
2117
|
-
*
|
|
2118
|
-
*
|
|
2119
|
-
* - 标题区域宽度
|
|
2201
|
+
* 删除事件
|
|
2202
|
+
* @param value 要删除的数据
|
|
2120
2203
|
*/
|
|
2121
|
-
|
|
2204
|
+
delete: [value?: T];
|
|
2122
2205
|
};
|
|
2123
2206
|
/**
|
|
2124
|
-
*
|
|
2207
|
+
* 事件:关闭
|
|
2125
2208
|
*/
|
|
2126
|
-
type
|
|
2127
|
-
/**
|
|
2128
|
-
* 输入框点击时
|
|
2129
|
-
*/
|
|
2130
|
-
click: [];
|
|
2209
|
+
type CloseEvents = {
|
|
2131
2210
|
/**
|
|
2132
|
-
*
|
|
2133
|
-
* @param value 输入框内容
|
|
2211
|
+
* 关闭事件
|
|
2134
2212
|
*/
|
|
2135
|
-
|
|
2213
|
+
close: [];
|
|
2136
2214
|
};
|
|
2137
2215
|
|
|
2138
2216
|
/**
|
|
2139
|
-
*
|
|
2217
|
+
* 数值控件的数据结构
|
|
2140
2218
|
*/
|
|
2141
|
-
|
|
2142
|
-
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
* - 开始时,设置 rv.value 值为 from;延迟time时间后,强制销毁scope
|
|
2147
|
-
* - 销毁scope时,强制将 rv.value 值设置为 to 值
|
|
2148
|
-
* @param rv 响应式变量对象
|
|
2149
|
-
* @param effect 过渡效果配置,约束 from end 样式
|
|
2150
|
-
* @param time 过渡持续时间,到时间后销毁作用域
|
|
2151
|
-
* @returns 作用域对象,可销毁【值过渡】效果
|
|
2152
|
-
*/
|
|
2153
|
-
transition<T>(rv: ReactiveVar<T>, effect: {
|
|
2154
|
-
from: T;
|
|
2155
|
-
to: T;
|
|
2156
|
-
}, time: number): IScope;
|
|
2219
|
+
|
|
2220
|
+
/**
|
|
2221
|
+
* 数值组件的基础配置选项
|
|
2222
|
+
*/
|
|
2223
|
+
type NumberBaseOptions = {
|
|
2157
2224
|
/**
|
|
2158
|
-
*
|
|
2159
|
-
* - 任务运行时,设置loading.value=true
|
|
2160
|
-
* - 任务完成后,设置loading.value=false
|
|
2161
|
-
* - 可通过delay值,延迟执行 loading.value=false 操作
|
|
2162
|
-
* - 可在api请求等耗时操作任务过程中,实现响应式显隐Loading组件
|
|
2163
|
-
* @param task 要运行的任务
|
|
2164
|
-
* @param loading 正在加载的响应式变量
|
|
2165
|
-
* @param delay 延迟时间,单位ms;不传则不延迟
|
|
2166
|
-
* @returns 任务自身
|
|
2225
|
+
* 最小值
|
|
2167
2226
|
*/
|
|
2168
|
-
|
|
2227
|
+
minValue?: number;
|
|
2169
2228
|
/**
|
|
2170
|
-
*
|
|
2171
|
-
* - 内部利用vue的watch逻辑实现
|
|
2172
|
-
* - 自动进行生命周期管理,作用域销毁时自动清理watch监听
|
|
2173
|
-
* - 仅实现简化版本watch监听;复杂的监听逻辑,自行使用watch方法
|
|
2174
|
-
* @param source 监听源
|
|
2175
|
-
* @param callback 回调方法:可接收新旧值变化
|
|
2176
|
-
* @param deep 是否进行深度监听;默认false
|
|
2177
|
-
* @returns 监听作用域,destroy可销毁监听
|
|
2229
|
+
* 最大值
|
|
2178
2230
|
*/
|
|
2179
|
-
|
|
2180
|
-
}
|
|
2181
|
-
/**
|
|
2182
|
-
* 响应式变量
|
|
2183
|
-
*/
|
|
2184
|
-
type ReactiveVar<T> = ShallowRef<T> | Ref<T>;
|
|
2185
|
-
|
|
2186
|
-
/**
|
|
2187
|
-
* 开关组件 配置选项
|
|
2188
|
-
*/
|
|
2189
|
-
type SwitchOptions = ReadonlyOptions & {
|
|
2231
|
+
maxValue?: number;
|
|
2190
2232
|
/**
|
|
2191
|
-
*
|
|
2192
|
-
* -
|
|
2193
|
-
* -
|
|
2194
|
-
* -
|
|
2233
|
+
* 值超过阈值(最大值、最小值)时的处理模式
|
|
2234
|
+
* - 默认值为 `keep`;可选取值范围:
|
|
2235
|
+
* - - `keep` 保持原样值显示,不做任何处理
|
|
2236
|
+
* - - `clamp` 截断超出阈值值,低于最小值时直接取最小值,超过最大值时,强制值为最大值
|
|
2237
|
+
* - 值超过阈值时,会自动触发事件,事件名`NumberEvents`的`belowMin`和`exceedMax`
|
|
2195
2238
|
*/
|
|
2196
|
-
|
|
2197
|
-
};
|
|
2198
|
-
/**
|
|
2199
|
-
* 开关 事件
|
|
2200
|
-
*/
|
|
2201
|
-
type SwitchEvents = {
|
|
2239
|
+
clamp?: "keep" | "clamp";
|
|
2202
2240
|
/**
|
|
2203
|
-
*
|
|
2204
|
-
*
|
|
2241
|
+
* 精度,保留几位小数
|
|
2242
|
+
* - 要求0、正整数,输入小数则强制整数
|
|
2243
|
+
* - 负数、不传入则不处理
|
|
2205
2244
|
*/
|
|
2206
|
-
|
|
2207
|
-
};
|
|
2208
|
-
|
|
2209
|
-
/**
|
|
2210
|
-
* 多行文本框组件配置选项
|
|
2211
|
-
*/
|
|
2212
|
-
type TextareaOptions = ReadonlyOptions & PlaceholderOptions & {
|
|
2245
|
+
precision?: number;
|
|
2213
2246
|
/**
|
|
2214
|
-
*
|
|
2215
|
-
* -
|
|
2216
|
-
* -
|
|
2247
|
+
* 对数值进行千分位格式处理
|
|
2248
|
+
* - 默认值为 `disabled`;可选值范围:
|
|
2249
|
+
* - `disabled` 禁用千分位功能
|
|
2250
|
+
* - `inline` 内联千分位功能
|
|
2251
|
+
* - `below` 下拉千分位功能
|
|
2217
2252
|
*/
|
|
2218
|
-
|
|
2253
|
+
thousands?: "disabled" | "inline" | "below";
|
|
2219
2254
|
/**
|
|
2220
|
-
*
|
|
2221
|
-
* -
|
|
2222
|
-
* -
|
|
2255
|
+
* 是否启用数值大写格式化处理
|
|
2256
|
+
* - 为true时,转成中文大写值
|
|
2257
|
+
* - 单位自动为“元”,不支持美元等
|
|
2258
|
+
* - 如金额时,自动转为壹仟壹佰壹拾壹元叁角叁分
|
|
2259
|
+
* - 小数点后面只处理两位(角分);剩余不处理
|
|
2223
2260
|
*/
|
|
2224
|
-
|
|
2261
|
+
upper?: boolean;
|
|
2225
2262
|
/**
|
|
2226
|
-
*
|
|
2227
|
-
* -
|
|
2228
|
-
* -
|
|
2263
|
+
* 格式化时的放大系数
|
|
2264
|
+
* - 用于在格式化千分位、大写时,对实际值进行系数放大,value*formatMultiplier
|
|
2265
|
+
* - 仅接收正整数,取值规则为10^n,默认1
|
|
2266
|
+
* - 千分位格式化时,仅`thousands`为`below`时才进行放到系数处理
|
|
2267
|
+
* - 使用示例例:金额是为万元单位时,这里的放大系数就为 “10000”
|
|
2229
2268
|
*/
|
|
2230
|
-
|
|
2231
|
-
};
|
|
2232
|
-
/**
|
|
2233
|
-
* 多行文本框组件事件
|
|
2234
|
-
*/
|
|
2235
|
-
type TextareaEvents = {
|
|
2269
|
+
formatMultiplier?: number;
|
|
2236
2270
|
/**
|
|
2237
|
-
*
|
|
2271
|
+
* 前缀字符串
|
|
2272
|
+
* - 如金额时,可配置前缀 ¥
|
|
2238
2273
|
*/
|
|
2239
|
-
|
|
2274
|
+
prefix?: string;
|
|
2240
2275
|
/**
|
|
2241
|
-
*
|
|
2242
|
-
*
|
|
2276
|
+
* 后缀字符串
|
|
2277
|
+
* - 如金额时,可配置后缀 元/美元、、
|
|
2243
2278
|
*/
|
|
2244
|
-
|
|
2279
|
+
suffix?: string;
|
|
2245
2280
|
/**
|
|
2246
|
-
*
|
|
2247
|
-
*
|
|
2281
|
+
* 数值控制器
|
|
2282
|
+
* - 便捷加减调整数值的控制按钮
|
|
2283
|
+
* - 默认值`disabled`;可选值范围:
|
|
2284
|
+
* - - `disabled` 时禁用
|
|
2285
|
+
* - - `default` 默认模式,左侧 — 右侧 +
|
|
2286
|
+
* - - `right` 右侧模式,+ - 都在右侧
|
|
2248
2287
|
*/
|
|
2249
|
-
|
|
2288
|
+
controls?: "disabled" | "default" | "right";
|
|
2250
2289
|
/**
|
|
2251
|
-
*
|
|
2252
|
-
*
|
|
2290
|
+
* 数值步长值
|
|
2291
|
+
* - `controls` 未禁用时生效
|
|
2292
|
+
* - 每次+、- 的步长值
|
|
2253
2293
|
*/
|
|
2254
|
-
|
|
2294
|
+
step?: number;
|
|
2255
2295
|
};
|
|
2256
|
-
|
|
2257
|
-
/**
|
|
2258
|
-
* 使用【响应式管理器】
|
|
2259
|
-
* - 请在Vue组件的setup中使用此方法,否则 getCurrentScope 方法无法取到值
|
|
2260
|
-
* @returns 全新的【响应式管理器】+作用域
|
|
2261
|
-
*/
|
|
2262
|
-
declare function useReactive(): IReactiveManager & IScope;
|
|
2263
|
-
|
|
2264
|
-
/**
|
|
2265
|
-
* 树的基础组件信息
|
|
2266
|
-
* 1、组件基础上下文 默认实现
|
|
2267
|
-
*/
|
|
2268
|
-
|
|
2269
2296
|
/**
|
|
2270
|
-
*
|
|
2271
|
-
* @param nodes 树节点集合
|
|
2272
|
-
* @param activeNodeRef 当前激活的树节点引用;不传入,则无法实现 isActived 判断
|
|
2273
|
-
* @returns 上下文对象+作用域
|
|
2274
|
-
*/
|
|
2275
|
-
declare function useTreeContext<T>(nodes: TreeNode<T, TreeNodeExtend>[], activeNodeRef?: ShallowRef<TreeNode<T, TreeNodeExtend>>): ITreeBaseContext<T> & IScope;
|
|
2276
|
-
|
|
2277
|
-
/**
|
|
2278
|
-
* Vue App助手类,做一些app实例的辅助性工作
|
|
2279
|
-
*/
|
|
2280
|
-
|
|
2281
|
-
/** 私有类型:App类型
|
|
2282
|
-
* - normal 普通app实例
|
|
2283
|
-
* - popup 弹窗app实例;包括 Dialog、Follow等所有弹窗
|
|
2284
|
-
*/
|
|
2285
|
-
type AppType = "normal" | "popup";
|
|
2286
|
-
/**
|
|
2287
|
-
* app实例创建完之后的回调通知
|
|
2288
|
-
* @param fn 回调通知
|
|
2289
|
-
* @returns 通知句柄,可销毁回调通知,一般在外部销毁时执行
|
|
2290
|
-
*/
|
|
2291
|
-
declare function onAppCreated(fn: (app: App, type?: AppType) => void): IScope;
|
|
2292
|
-
/**
|
|
2293
|
-
* 触发app创建后事件
|
|
2294
|
-
* @param app 创建的app实例
|
|
2295
|
-
* @param type app创建类型;满足区分特定app实例使用
|
|
2296
|
-
* @returns app自身
|
|
2297
|
-
*/
|
|
2298
|
-
declare function triggerAppCreated(app: App, type?: AppType): App;
|
|
2299
|
-
|
|
2300
|
-
/**
|
|
2301
|
-
* 图标助手类
|
|
2302
|
-
*/
|
|
2303
|
-
|
|
2304
|
-
/**
|
|
2305
|
-
* 获取内置图标绘制路径
|
|
2306
|
-
* @param iconType 图标类型
|
|
2307
|
-
* @returns 图标路径
|
|
2308
|
-
*/
|
|
2309
|
-
declare function getBuiltinIcon(iconType: IconType): string[];
|
|
2310
|
-
|
|
2311
|
-
/**
|
|
2312
|
-
* 动态加载组件 组件配置选项
|
|
2313
|
-
*/
|
|
2314
|
-
type DynamicOptions<Props = void> = ComponentOptions & Pick<ComponentBindOptions<Props>, "props">;
|
|
2315
|
-
|
|
2316
|
-
/**
|
|
2317
|
-
* 挂载指定的Vue组件
|
|
2318
|
-
* - 权限构建的vue app实例,挂载传入的组件
|
|
2319
|
-
* @param target 挂载的目标元素
|
|
2320
|
-
* @param options 挂载配置选项
|
|
2321
|
-
* @param onDestroyed 监听【调用方】的销毁时机,用于自动销毁挂载的实力
|
|
2322
|
-
* @returns 作用域对象,销毁挂载实例
|
|
2323
|
-
*/
|
|
2324
|
-
declare function mount<Props>(target: HTMLElement, options: DynamicOptions<Props>, onDestroyed?: (fn: () => void) => void): IScope;
|
|
2325
|
-
|
|
2326
|
-
/**
|
|
2327
|
-
* 运动组件的助手方法变量
|
|
2297
|
+
* 数值组件的配置选项
|
|
2328
2298
|
*/
|
|
2299
|
+
type NumberOptions = PlaceholderOptions & ReadonlyOptions & NumberBaseOptions;
|
|
2329
2300
|
/**
|
|
2330
|
-
*
|
|
2301
|
+
* 接口:数值格式化器
|
|
2331
2302
|
*/
|
|
2332
|
-
|
|
2333
|
-
/**
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
|
|
2337
|
-
|
|
2338
|
-
|
|
2339
|
-
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2343
|
-
|
|
2344
|
-
|
|
2345
|
-
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
|
|
2349
|
-
top: {
|
|
2350
|
-
enter: string;
|
|
2351
|
-
leave: string;
|
|
2352
|
-
};
|
|
2353
|
-
/** 顶部进入底部退出:进入时`translateY:-100%~0`;退出时`translateY:0~100%`*/
|
|
2354
|
-
topBottom: {
|
|
2355
|
-
enter: string;
|
|
2356
|
-
leave: string;
|
|
2357
|
-
};
|
|
2358
|
-
/** 底部进入退出:进入时`translateY:100%~0`;退出时`translateY:0~100%`*/
|
|
2359
|
-
bottom: {
|
|
2360
|
-
enter: string;
|
|
2361
|
-
leave: string;
|
|
2362
|
-
};
|
|
2363
|
-
/** 底部进入顶部退出:进入时`translateY:100%~0`;退出时`translateY:0~-100%`*/
|
|
2364
|
-
bottomTop: {
|
|
2365
|
-
enter: string;
|
|
2366
|
-
leave: string;
|
|
2367
|
-
};
|
|
2368
|
-
/** 左侧进入退出:进入时`translateX:-100%~0`;退出时`translateX:0~-100%`*/
|
|
2369
|
-
left: {
|
|
2370
|
-
enter: string;
|
|
2371
|
-
leave: string;
|
|
2372
|
-
};
|
|
2373
|
-
/** 左侧进入右侧退出:进入时`translateX:-100%~0`;退出时`translateX:0~100%`*/
|
|
2374
|
-
leftRight: {
|
|
2375
|
-
enter: string;
|
|
2376
|
-
leave: string;
|
|
2377
|
-
};
|
|
2378
|
-
/** 右侧进入右侧退出:进入时`translateX:100%~0`;退出时`translateX:0~100%`*/
|
|
2379
|
-
right: {
|
|
2380
|
-
enter: string;
|
|
2381
|
-
leave: string;
|
|
2382
|
-
};
|
|
2383
|
-
/** 右侧进入左侧退出:进入时`translateX:100%~0`;退出时`translateX:0~-100%`*/
|
|
2384
|
-
rightLeft: {
|
|
2385
|
-
enter: string;
|
|
2386
|
-
leave: string;
|
|
2303
|
+
interface INumberFormatter extends Required<Readonly<Pick<NumberBaseOptions, "minValue" | "maxValue" | "precision" | "thousands" | "upper">>> {
|
|
2304
|
+
/**
|
|
2305
|
+
* 格式化输入文本
|
|
2306
|
+
* @param text 输入文本
|
|
2307
|
+
* @param isEnd 是否是输入结束,true时,已经输入结束将进行数值精度处理
|
|
2308
|
+
* @returns 数值格式化结果
|
|
2309
|
+
*/
|
|
2310
|
+
format(text: string, isEnd: boolean): NumberFormatResult;
|
|
2311
|
+
/**
|
|
2312
|
+
* 进行阈值检测,检测是否超过设定的最大值、最小值
|
|
2313
|
+
* @param number 要检测的数值
|
|
2314
|
+
* @returns 检测结果,`number` 新的值,`belowMin`是否低于最小值,`exceedMax`是否超过最大值
|
|
2315
|
+
*/
|
|
2316
|
+
checkThreshold(number: any): {
|
|
2317
|
+
number: number;
|
|
2318
|
+
belowMin: boolean;
|
|
2319
|
+
exceedMax: boolean;
|
|
2387
2320
|
};
|
|
2388
|
-
|
|
2389
|
-
|
|
2390
|
-
|
|
2391
|
-
|
|
2392
|
-
|
|
2393
|
-
|
|
2394
|
-
|
|
2321
|
+
/**
|
|
2322
|
+
* 对数值文本转大写
|
|
2323
|
+
* @param result
|
|
2324
|
+
* @returns 大写文本值
|
|
2325
|
+
*/
|
|
2326
|
+
buildUpper(result: NumberFormatResult): string;
|
|
2327
|
+
/**
|
|
2328
|
+
* 对数值文本进行千分位格式化
|
|
2329
|
+
* @param result
|
|
2330
|
+
* @returns 格式化后的文本值
|
|
2331
|
+
*/
|
|
2332
|
+
buildThousands(result: NumberFormatResult): string;
|
|
2333
|
+
/**
|
|
2334
|
+
* 基于步长计算值
|
|
2335
|
+
* @param number 要重新计算的数值
|
|
2336
|
+
* @param isPlus true为+,false为-
|
|
2337
|
+
* @returns 新的数值
|
|
2338
|
+
*/
|
|
2339
|
+
calcByStep(number: number, isPlus: boolean): number;
|
|
2340
|
+
}
|
|
2395
2341
|
/**
|
|
2396
|
-
*
|
|
2397
|
-
* - 约束弹出组件信息
|
|
2398
|
-
* - 弹出组件时传递的参数信息
|
|
2399
|
-
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
2342
|
+
* 数值格式化结果
|
|
2400
2343
|
*/
|
|
2401
|
-
type
|
|
2344
|
+
type NumberFormatResult = {
|
|
2402
2345
|
/**
|
|
2403
|
-
*
|
|
2404
|
-
* -
|
|
2405
|
-
* - 动画规则:打开弹窗时,为 [transition]-in ;关闭弹窗时,为[transition]-out
|
|
2406
|
-
* - - 传入 "scale",则打开弹窗为 "scale-in";关闭弹窗时为 "scale-out"
|
|
2346
|
+
* 输入是否是有效输入
|
|
2347
|
+
* - `- 0 1 2 3 4 5 6 7 8 9 0 .`算是合法输入
|
|
2407
2348
|
*/
|
|
2408
|
-
|
|
2349
|
+
readonly valid: boolean;
|
|
2409
2350
|
/**
|
|
2410
|
-
*
|
|
2411
|
-
* -
|
|
2412
|
-
* - 外部传入自定义动画时,传入动画持续时间,否则可能导致关闭时动画失效
|
|
2351
|
+
* 有效的数值
|
|
2352
|
+
* - undefined时,输入无法转换成有效的数值
|
|
2413
2353
|
*/
|
|
2414
|
-
|
|
2354
|
+
readonly number: number | undefined;
|
|
2415
2355
|
/**
|
|
2416
|
-
*
|
|
2417
|
-
* -
|
|
2418
|
-
* -
|
|
2419
|
-
class?: string | string[];
|
|
2356
|
+
* 数值的显示文本
|
|
2357
|
+
* - 无千分位等处理的数值显示文本
|
|
2358
|
+
* - 若需要在行内显示 千分位 格式文本,需要单独处理
|
|
2420
2359
|
*/
|
|
2360
|
+
readonly text: string;
|
|
2421
2361
|
/**
|
|
2422
|
-
*
|
|
2423
|
-
* -
|
|
2424
|
-
* - 可以直接在props中指定,无需特殊设置
|
|
2425
|
-
style?: AllStyle;
|
|
2362
|
+
* 格式化数值时发生的错误
|
|
2363
|
+
* - 输入数值有效,但是格式化时发生错误了
|
|
2426
2364
|
*/
|
|
2365
|
+
readonly error?: string;
|
|
2427
2366
|
/**
|
|
2428
|
-
*
|
|
2429
|
-
* -
|
|
2367
|
+
* 是否是负数
|
|
2368
|
+
* - true 时说明以`-`开始;false时为正数
|
|
2369
|
+
* - 若为true,但`integerPart`为undefined,则说明仅输入了`-`
|
|
2430
2370
|
*/
|
|
2431
|
-
|
|
2432
|
-
};
|
|
2433
|
-
/**
|
|
2434
|
-
* 弹出组件句柄
|
|
2435
|
-
*/
|
|
2436
|
-
type PopupHandle<T> = {
|
|
2371
|
+
readonly isNegative?: boolean;
|
|
2437
2372
|
/**
|
|
2438
|
-
*
|
|
2439
|
-
* -
|
|
2440
|
-
* -
|
|
2441
|
-
* - follow : 跟随效果弹窗
|
|
2373
|
+
* 是否是小数
|
|
2374
|
+
* - true 时说明有小数点“.”;false 时为整数
|
|
2375
|
+
* - 若为true,但`decimalPart`为undefined,则说明是以`.`结尾,还没输入具体的小数部分
|
|
2442
2376
|
*/
|
|
2443
|
-
|
|
2377
|
+
readonly isDecimal?: boolean;
|
|
2444
2378
|
/**
|
|
2445
|
-
*
|
|
2446
|
-
*
|
|
2379
|
+
* 数值输入的整数部分
|
|
2380
|
+
* - 取整数部分绝对值,如-1.2,仅为1
|
|
2447
2381
|
*/
|
|
2448
|
-
|
|
2449
|
-
};
|
|
2450
|
-
/**
|
|
2451
|
-
* 弹窗状态:响应式
|
|
2452
|
-
* - open 打开
|
|
2453
|
-
* - active 激活,针对Dialog弹窗生效
|
|
2454
|
-
* - unactive 非激活,针对Dialog弹窗生效
|
|
2455
|
-
* - closed 关闭
|
|
2456
|
-
*/
|
|
2457
|
-
type PopupStatus = ShallowRef<"open" | "active" | "unactive" | "closed">;
|
|
2458
|
-
/**
|
|
2459
|
-
* 弹窗状态 配置选项
|
|
2460
|
-
*/
|
|
2461
|
-
type PopupStatusOptions = {
|
|
2382
|
+
readonly integerPart?: string;
|
|
2462
2383
|
/**
|
|
2463
|
-
*
|
|
2384
|
+
* 小数部分
|
|
2464
2385
|
*/
|
|
2465
|
-
|
|
2466
|
-
};
|
|
2467
|
-
/**
|
|
2468
|
-
* 弹窗对象描述器
|
|
2469
|
-
* - 给弹窗容器使用,传递过去作为props使用
|
|
2470
|
-
*/
|
|
2471
|
-
type PopupDescriptor<Options extends PopupOptions, ExtOptions> = PopupStatusOptions & {
|
|
2386
|
+
readonly decimalPart?: string;
|
|
2472
2387
|
/**
|
|
2473
|
-
*
|
|
2474
|
-
* - 自动分配,全局唯一
|
|
2388
|
+
* 进行系数放大后的整数部分
|
|
2475
2389
|
*/
|
|
2476
|
-
|
|
2390
|
+
readonly integerPartAfterMultiplier?: string;
|
|
2477
2391
|
/**
|
|
2478
|
-
*
|
|
2479
|
-
* - 由外部传递过来的业务数据配置信息
|
|
2480
|
-
* - 约束具体弹窗的业务组件和业务组件所需props等数据
|
|
2392
|
+
* 进行系数放大后的小数部分
|
|
2481
2393
|
*/
|
|
2482
|
-
|
|
2394
|
+
readonly decimalPartAfterMultiplier?: string;
|
|
2395
|
+
};
|
|
2396
|
+
/**
|
|
2397
|
+
* 数值组件的事件选项
|
|
2398
|
+
*/
|
|
2399
|
+
type NumberEvents = ChangeEvents<number> & {
|
|
2483
2400
|
/**
|
|
2484
|
-
*
|
|
2485
|
-
* -
|
|
2486
|
-
* -
|
|
2401
|
+
* 数值发生错误时
|
|
2402
|
+
* - 若超过最大的精度范围
|
|
2403
|
+
* - 其他未知异常等
|
|
2404
|
+
* @param reason 错误原因
|
|
2487
2405
|
*/
|
|
2488
|
-
|
|
2406
|
+
error: [reason: string];
|
|
2489
2407
|
/**
|
|
2490
|
-
*
|
|
2408
|
+
* 小于最小值
|
|
2409
|
+
* @param value 当前值
|
|
2410
|
+
* @param minValue 最小值
|
|
2491
2411
|
*/
|
|
2492
|
-
|
|
2412
|
+
belowMin: [value: number, minValue: number];
|
|
2493
2413
|
/**
|
|
2494
|
-
*
|
|
2495
|
-
*
|
|
2496
|
-
*
|
|
2414
|
+
* 超过最大值
|
|
2415
|
+
* @param value 当前值
|
|
2416
|
+
* @param maxValue 最大值
|
|
2497
2417
|
*/
|
|
2498
|
-
|
|
2418
|
+
exceedMax: [value: number, maxValue: number];
|
|
2499
2419
|
};
|
|
2500
2420
|
|
|
2501
2421
|
/**
|
|
2502
|
-
*
|
|
2422
|
+
* 检查选项 数据结构
|
|
2503
2423
|
*/
|
|
2504
2424
|
|
|
2505
2425
|
/**
|
|
2506
|
-
*
|
|
2507
|
-
* - 继承 ComponentOptions ,动态加载组件
|
|
2508
|
-
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
2426
|
+
* 选择 组件配置选项
|
|
2509
2427
|
*/
|
|
2510
|
-
type
|
|
2428
|
+
type ChooseOptions<T> = ReadonlyOptions & {
|
|
2511
2429
|
/**
|
|
2512
|
-
*
|
|
2513
|
-
* -
|
|
2430
|
+
* 是否为多选模式
|
|
2431
|
+
* - true 多选模式,可以选中items中多个选项
|
|
2432
|
+
* - false 单选模式,只能选中items中的一个选项
|
|
2514
2433
|
*/
|
|
2515
|
-
|
|
2434
|
+
multi?: boolean;
|
|
2516
2435
|
/**
|
|
2517
|
-
*
|
|
2518
|
-
* -
|
|
2519
|
-
|
|
2436
|
+
* 选项类型
|
|
2437
|
+
* - radio: 单选框样式
|
|
2438
|
+
* - checkbox: 多选框样式
|
|
2520
2439
|
*/
|
|
2440
|
+
type: "radio" | "checkbox";
|
|
2521
2441
|
/**
|
|
2522
|
-
*
|
|
2523
|
-
* -
|
|
2442
|
+
* 显示模式
|
|
2443
|
+
* - native 原生默认,浏览器自己渲染;不同浏览器效果不一致
|
|
2444
|
+
* - beautiful 美化模式,不同浏览器下效果通义
|
|
2524
2445
|
*/
|
|
2525
|
-
|
|
2446
|
+
mode?: "native" | "beautiful";
|
|
2526
2447
|
/**
|
|
2527
|
-
*
|
|
2448
|
+
* 选项布局
|
|
2449
|
+
* - 默认值:horizontal
|
|
2450
|
+
* - 可选值:
|
|
2451
|
+
* - - horizontal 水平布局;所有选项一行
|
|
2452
|
+
* - - vertical 垂直布局;每个选项一行
|
|
2528
2453
|
*/
|
|
2529
|
-
|
|
2454
|
+
layout?: "horizontal" | "vertical";
|
|
2530
2455
|
/**
|
|
2531
|
-
*
|
|
2532
|
-
*
|
|
2456
|
+
* 待选项目
|
|
2457
|
+
* text 可不传入
|
|
2533
2458
|
*/
|
|
2534
|
-
|
|
2459
|
+
items: ChooseItem<T>[];
|
|
2460
|
+
/**
|
|
2461
|
+
* 选项自定义样式
|
|
2462
|
+
* - 可指定选项宽度、高度、外边距
|
|
2463
|
+
*/
|
|
2464
|
+
itemStyle?: WidthStyle & HeightStyle & MarginStyle;
|
|
2535
2465
|
};
|
|
2536
2466
|
/**
|
|
2537
|
-
*
|
|
2538
|
-
* - 用于在弹窗内容组件中进行模式判断和关闭
|
|
2467
|
+
* 选择项
|
|
2539
2468
|
*/
|
|
2540
|
-
type
|
|
2469
|
+
type ChooseItem<T> = {
|
|
2541
2470
|
/**
|
|
2542
|
-
*
|
|
2543
|
-
* - 仅支持注册一次,多次注册以最后一次的为准
|
|
2544
|
-
* @param fn 关闭时执行的钩子函数,支持异步;;调用后若返回false时将阻止弹窗关闭
|
|
2471
|
+
* 选项文本
|
|
2545
2472
|
*/
|
|
2546
|
-
|
|
2473
|
+
text?: string;
|
|
2474
|
+
/**
|
|
2475
|
+
* 选项值
|
|
2476
|
+
*/
|
|
2477
|
+
value: T;
|
|
2478
|
+
/**
|
|
2479
|
+
* 选项描述信息,一般作为解释使用
|
|
2480
|
+
*/
|
|
2481
|
+
description?: string;
|
|
2547
2482
|
};
|
|
2548
2483
|
/**
|
|
2549
|
-
*
|
|
2484
|
+
* 选择 组件事件
|
|
2550
2485
|
*/
|
|
2551
|
-
type
|
|
2486
|
+
type ChooseEvents<T> = {
|
|
2552
2487
|
/**
|
|
2553
|
-
*
|
|
2554
|
-
* -
|
|
2555
|
-
* - 仅支持注册一次,多次注册以最后一次的为准
|
|
2556
|
-
* @param fn 取数据时执行的钩子函数,支持异步;若需要阻止弹窗关闭则`fn`方法直接报错即可
|
|
2488
|
+
* 值改变 事件
|
|
2489
|
+
* - values 为当前选中值;单选时为单个值,多选时为值数组
|
|
2557
2490
|
*/
|
|
2558
|
-
|
|
2491
|
+
change: [values: T | T[]];
|
|
2559
2492
|
};
|
|
2560
2493
|
|
|
2561
2494
|
/**
|
|
2562
|
-
*
|
|
2563
|
-
* - title 弹窗标题,默认“提示”
|
|
2564
|
-
* - message 确认提示信息;默认“请确认?”;支持html格式内容
|
|
2495
|
+
* 按钮配置选项
|
|
2565
2496
|
*/
|
|
2566
|
-
type
|
|
2497
|
+
type ButtonOptions = TitleOptions & {
|
|
2498
|
+
/**
|
|
2499
|
+
* 按钮尺寸
|
|
2500
|
+
* - max : 120 X 40
|
|
2501
|
+
* - middle : 90 X 32
|
|
2502
|
+
* - normal : 54 X 28
|
|
2503
|
+
* - small : 30 X 20
|
|
2504
|
+
*/
|
|
2505
|
+
size: "max" | "middle" | "normal" | "small";
|
|
2506
|
+
/**
|
|
2507
|
+
* 按钮类型
|
|
2508
|
+
* - primary: 主按钮:蓝色背景
|
|
2509
|
+
* - default: 默认按钮:白色背景
|
|
2510
|
+
* - link :链接式按钮:蓝色字体颜色,无边框
|
|
2511
|
+
*/
|
|
2512
|
+
type: "primary" | "default" | "link";
|
|
2513
|
+
};
|
|
2567
2514
|
|
|
2568
2515
|
/**
|
|
2569
|
-
*
|
|
2516
|
+
* 可操作项组件 的配置选项
|
|
2517
|
+
* - disabled 为true时,不响应操作项触发
|
|
2570
2518
|
*/
|
|
2571
|
-
type
|
|
2519
|
+
type ActionOptions = DisabledOptions & {
|
|
2572
2520
|
/**
|
|
2573
|
-
*
|
|
2521
|
+
* 触发方式
|
|
2522
|
+
* - always :始终显示一个触发图标,点击图标弹出操作项
|
|
2523
|
+
* - hover:鼠标移入显示一个触发图标,点击图标弹出操作项
|
|
2524
|
+
* - long-press:长摁直接弹出操作项
|
|
2574
2525
|
*/
|
|
2575
|
-
|
|
2526
|
+
trigger: "always" | "hover" | "long-press";
|
|
2576
2527
|
/**
|
|
2577
|
-
*
|
|
2528
|
+
* 显示模式
|
|
2529
|
+
* - popup:弹出显示操作项
|
|
2530
|
+
* - inline:内联显示操作项
|
|
2578
2531
|
*/
|
|
2579
|
-
message: string;
|
|
2580
2532
|
/**
|
|
2581
|
-
*
|
|
2582
|
-
* - 单位毫秒,默认1500ms
|
|
2533
|
+
* 可用操作项
|
|
2583
2534
|
*/
|
|
2584
|
-
|
|
2535
|
+
actions: ActionItem[];
|
|
2536
|
+
} & Pick<FollowPositionOptions, "followX" | "followY" | "spaceX" | "spaceY">;
|
|
2537
|
+
/**
|
|
2538
|
+
* 操作项集合 组件渲染配置选项
|
|
2539
|
+
*/
|
|
2540
|
+
type ActionItemsOptions = {
|
|
2585
2541
|
/**
|
|
2586
|
-
*
|
|
2542
|
+
* 展示模式
|
|
2543
|
+
* - horizontal 水平展示
|
|
2544
|
+
* - vertical 垂直展示
|
|
2587
2545
|
*/
|
|
2588
|
-
|
|
2546
|
+
mode: "horizontal" | "vertical";
|
|
2547
|
+
/**
|
|
2548
|
+
* 要渲染的操作项
|
|
2549
|
+
*/
|
|
2550
|
+
actions: ActionItem[];
|
|
2589
2551
|
};
|
|
2590
|
-
|
|
2591
|
-
/**
|
|
2592
|
-
* 跟随效果 弹窗
|
|
2593
|
-
*/
|
|
2594
|
-
|
|
2595
|
-
/**
|
|
2596
|
-
* 跟随弹窗 配置选项
|
|
2597
|
-
* - 传入的组件,根据配置跟随 target 位置和大小;
|
|
2598
|
-
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
2599
|
-
*/
|
|
2600
|
-
type FollowOptions<Props = void, Model = void> = PopupOptions<Props, Model> & FollowPositionOptions;
|
|
2601
2552
|
/**
|
|
2602
|
-
*
|
|
2603
|
-
* - 基于此计算出最终的跟随效果
|
|
2553
|
+
* 一个操作项的配置
|
|
2604
2554
|
*/
|
|
2605
|
-
type
|
|
2555
|
+
type ActionItem = {
|
|
2606
2556
|
/**
|
|
2607
|
-
*
|
|
2608
|
-
* -
|
|
2609
|
-
* - false时,宽度由 弹出组件 自己维护
|
|
2610
|
-
* - 不管是true、还是false,若宽度超过浏览器最大宽度,会进行强制干预
|
|
2557
|
+
* 操作项编码
|
|
2558
|
+
* - 确保唯一
|
|
2611
2559
|
*/
|
|
2612
|
-
|
|
2560
|
+
code: string;
|
|
2613
2561
|
/**
|
|
2614
|
-
*
|
|
2615
|
-
* -
|
|
2616
|
-
* - false时,高度由 弹出组件 自己维护
|
|
2617
|
-
* - 不管是true、还是false,若高度超过浏览器最大高度,会进行强制干预
|
|
2562
|
+
* 操作项名称
|
|
2563
|
+
* - 确保唯一
|
|
2618
2564
|
*/
|
|
2619
|
-
|
|
2565
|
+
name: string;
|
|
2620
2566
|
/**
|
|
2621
|
-
*
|
|
2622
|
-
* - 支持传入一个或者多个,依次尝试选举最优位置(全宽度展示,否则取最大宽度位置)
|
|
2623
|
-
* - 不传入则按照默认策略;["start","end","after","before","center","ratio"]
|
|
2624
|
-
* - 可选策略值如下:
|
|
2625
|
-
* - - start : 起点跟随,和 target 起始位置(left)一致
|
|
2626
|
-
* - - end : 终点跟随,和 target 结束位置(right)一致
|
|
2627
|
-
* - - center : 中心跟随,和 target 中心位置一致
|
|
2628
|
-
* - - before : 之前跟随,组件在 target 左侧展示
|
|
2629
|
-
* - - after : 之后跟随,组件在 target 右侧展示
|
|
2630
|
-
* - - ratio : 比例跟随,按比例(target中心点/窗口宽度)锚定位置,动态计算left值。
|
|
2567
|
+
* 操作项颜色
|
|
2631
2568
|
*/
|
|
2632
|
-
|
|
2569
|
+
color?: string;
|
|
2633
2570
|
/**
|
|
2634
|
-
*
|
|
2635
|
-
* - 支持传入一个或者多个,依次尝试选举最优位置(全高度展示,否则取最大高度位置)
|
|
2636
|
-
* - 不传入则按照默认策略;["after","before","start","end","center","ratio"]
|
|
2637
|
-
* - 可选策略值如下:
|
|
2638
|
-
* - - start : 起点跟随,和 target 起始位置(top)一致
|
|
2639
|
-
* - - end : 终点跟随,和 target 结束位置(bottom)一致
|
|
2640
|
-
* - - center : 中心跟随,和 target 中心位置一致
|
|
2641
|
-
* - - before : 之前跟随,组件在 target 顶部展示
|
|
2642
|
-
* - - after : 之后跟随,组件在 target 底部展示
|
|
2643
|
-
* - - ratio : 比例跟随,按比例(target中心点/窗口高度)锚定位置,动态计算top值。
|
|
2571
|
+
* 操作项移入时颜色
|
|
2644
2572
|
*/
|
|
2645
|
-
|
|
2573
|
+
hoverColor?: string;
|
|
2646
2574
|
/**
|
|
2647
|
-
*
|
|
2648
|
-
* - 默认0; followX 为 center、ratio 时间距失效
|
|
2649
|
-
* - 增加间距,提升展示效果
|
|
2650
|
-
* -
|
|
2575
|
+
* 操作项图标
|
|
2651
2576
|
*/
|
|
2652
|
-
|
|
2577
|
+
icon?: Pick<IconOptions, "type" | "size" | "title">;
|
|
2578
|
+
};
|
|
2579
|
+
/**
|
|
2580
|
+
* 可操作向组件 插槽句柄
|
|
2581
|
+
*/
|
|
2582
|
+
type ActionSlotHandle = {
|
|
2653
2583
|
/**
|
|
2654
|
-
*
|
|
2655
|
-
* - 默认0;followY 为 center、ratio 时间距失效
|
|
2656
|
-
* - 增加间距,提升展示效果
|
|
2584
|
+
* 操作项是否激活显示
|
|
2657
2585
|
*/
|
|
2658
|
-
|
|
2586
|
+
isActived(): boolean;
|
|
2659
2587
|
/**
|
|
2660
|
-
*
|
|
2661
|
-
* - 弹出组件 和浏览器客户端窗口之间的【留白空间】
|
|
2662
|
-
* - 仅在 弹出组件 计算出来位置紧贴浏览器窗口时生效
|
|
2663
|
-
* - 若强制指定了 start、end,则对应的起始、结束位置不受此值影响
|
|
2588
|
+
* 触发操作项显示
|
|
2664
2589
|
*/
|
|
2665
|
-
|
|
2590
|
+
trigger(): void;
|
|
2591
|
+
};
|
|
2592
|
+
/**
|
|
2593
|
+
* 可操作项组件 的事件
|
|
2594
|
+
*/
|
|
2595
|
+
type ActionEvents = {
|
|
2666
2596
|
/**
|
|
2667
|
-
*
|
|
2668
|
-
*
|
|
2597
|
+
* 操作项激活时
|
|
2598
|
+
* @param code 操作项的code
|
|
2669
2599
|
*/
|
|
2670
|
-
|
|
2600
|
+
trigger: [code: string];
|
|
2601
|
+
};
|
|
2602
|
+
|
|
2603
|
+
/**
|
|
2604
|
+
* 输入框配置选项
|
|
2605
|
+
* - title 将作为 输入框标题区域文本;不传入则不展示 标题区域,仅展示输入框
|
|
2606
|
+
* - 暂不提供 disabled 逻辑
|
|
2607
|
+
*/
|
|
2608
|
+
type InputOptions = ReadonlyOptions & /*DisabledOptions & */ PlaceholderOptions & TitleOptions & {
|
|
2671
2609
|
/**
|
|
2672
|
-
*
|
|
2610
|
+
* 输入框类型
|
|
2611
|
+
* - text: 文本输入框
|
|
2612
|
+
* - number: 数字输入框
|
|
2613
|
+
* - password: 密码输入框
|
|
2673
2614
|
*/
|
|
2674
|
-
|
|
2615
|
+
type?: "text" | "number" | "password";
|
|
2675
2616
|
/**
|
|
2676
|
-
*
|
|
2617
|
+
* 输入框是否必填
|
|
2618
|
+
* - 必填,则验证不通过时,显示错误信息
|
|
2619
|
+
* - 必填时,显示必填标记,红色 * 号
|
|
2677
2620
|
*/
|
|
2678
|
-
|
|
2621
|
+
required?: boolean;
|
|
2679
2622
|
/**
|
|
2680
|
-
*
|
|
2681
|
-
* -
|
|
2682
|
-
* -
|
|
2623
|
+
* 标题区域样式
|
|
2624
|
+
* - 对齐方式
|
|
2625
|
+
* - 标题区域宽度
|
|
2683
2626
|
*/
|
|
2684
|
-
|
|
2627
|
+
titleStyle?: BaseStyle & WidthStyle & FlexBoxStyle;
|
|
2685
2628
|
};
|
|
2686
2629
|
/**
|
|
2687
|
-
*
|
|
2688
|
-
* - 详细值定义,参照 FollowOptions.followX 和 FollowOptions.followY
|
|
2689
|
-
*/
|
|
2690
|
-
type FollowStrategy = "start" | "center" | "end" | "before" | "after" | "ratio";
|
|
2691
|
-
/**
|
|
2692
|
-
* 跟随弹窗 句柄
|
|
2693
|
-
* - 用于在 弹窗组件 内部进行模式判断和关闭跟随弹窗
|
|
2630
|
+
* 输入框事件
|
|
2694
2631
|
*/
|
|
2695
|
-
type
|
|
2632
|
+
type InputEvents = {
|
|
2633
|
+
/**
|
|
2634
|
+
* 输入框点击时
|
|
2635
|
+
*/
|
|
2636
|
+
click: [];
|
|
2637
|
+
/**
|
|
2638
|
+
* 输入框内容发生改变时
|
|
2639
|
+
* @param value 输入框内容
|
|
2640
|
+
*/
|
|
2641
|
+
change: [value: string];
|
|
2642
|
+
};
|
|
2643
|
+
|
|
2696
2644
|
/**
|
|
2697
|
-
*
|
|
2645
|
+
* 接口:响应式管理器
|
|
2698
2646
|
*/
|
|
2699
|
-
|
|
2647
|
+
interface IReactiveManager {
|
|
2700
2648
|
/**
|
|
2701
|
-
*
|
|
2649
|
+
* 响应式【过渡】变量值
|
|
2650
|
+
* - 通过设置 rv.value 的值来实现.value值过渡
|
|
2651
|
+
* - 执行顺序 from、to
|
|
2652
|
+
* - 开始时,设置 rv.value 值为 from;延迟time时间后,强制销毁scope
|
|
2653
|
+
* - 销毁scope时,强制将 rv.value 值设置为 to 值
|
|
2654
|
+
* @param rv 响应式变量对象
|
|
2655
|
+
* @param effect 过渡效果配置,约束 from end 样式
|
|
2656
|
+
* @param time 过渡持续时间,到时间后销毁作用域
|
|
2657
|
+
* @returns 作用域对象,可销毁【值过渡】效果
|
|
2702
2658
|
*/
|
|
2703
|
-
|
|
2659
|
+
transition<T>(rv: ReactiveVar<T>, effect: {
|
|
2660
|
+
from: T;
|
|
2661
|
+
to: T;
|
|
2662
|
+
}, time: number): IScope;
|
|
2704
2663
|
/**
|
|
2705
|
-
*
|
|
2706
|
-
* -
|
|
2664
|
+
* 响应式【加载】任务
|
|
2665
|
+
* - 任务运行时,设置loading.value=true
|
|
2666
|
+
* - 任务完成后,设置loading.value=false
|
|
2667
|
+
* - 可通过delay值,延迟执行 loading.value=false 操作
|
|
2668
|
+
* - 可在api请求等耗时操作任务过程中,实现响应式显隐Loading组件
|
|
2669
|
+
* @param task 要运行的任务
|
|
2670
|
+
* @param loading 正在加载的响应式变量
|
|
2671
|
+
* @param delay 延迟时间,单位ms;不传则不延迟
|
|
2672
|
+
* @returns 任务自身
|
|
2707
2673
|
*/
|
|
2708
|
-
|
|
2674
|
+
load<T>(task: Promise<T>, loading: ReactiveVar<boolean>, delay: number): Promise<RunResult<T>>;
|
|
2709
2675
|
/**
|
|
2710
|
-
*
|
|
2711
|
-
* -
|
|
2676
|
+
* 监听器:监听单个值变化
|
|
2677
|
+
* - 内部利用vue的watch逻辑实现
|
|
2678
|
+
* - 自动进行生命周期管理,作用域销毁时自动清理watch监听
|
|
2679
|
+
* - 仅实现简化版本watch监听;复杂的监听逻辑,自行使用watch方法
|
|
2680
|
+
* @param source 监听源
|
|
2681
|
+
* @param callback 回调方法:可接收新旧值变化
|
|
2682
|
+
* @param deep 是否进行深度监听;默认false
|
|
2683
|
+
* @returns 监听作用域,destroy可销毁监听
|
|
2712
2684
|
*/
|
|
2713
|
-
|
|
2685
|
+
watcher<T>(source: WatchSource<T>, callback: (newValue: T, oldValue: T) => void, deep?: boolean): IScope;
|
|
2686
|
+
}
|
|
2687
|
+
/**
|
|
2688
|
+
* 响应式变量
|
|
2689
|
+
*/
|
|
2690
|
+
type ReactiveVar<T> = ShallowRef<T> | Ref<T>;
|
|
2691
|
+
|
|
2692
|
+
/**
|
|
2693
|
+
* 开关组件 配置选项
|
|
2694
|
+
*/
|
|
2695
|
+
type SwitchOptions = ReadonlyOptions & {
|
|
2714
2696
|
/**
|
|
2715
|
-
*
|
|
2716
|
-
* -
|
|
2717
|
-
* -
|
|
2697
|
+
* 类型,决定开启/关闭状态的渲染效果
|
|
2698
|
+
* - switch 开关类型,默认效果
|
|
2699
|
+
* - radio 单选框效果,圆角边框
|
|
2700
|
+
* - checkbox 复选框效果,矩形边框
|
|
2718
2701
|
*/
|
|
2719
|
-
|
|
2702
|
+
type?: "switch" | "radio" | "checkbox";
|
|
2720
2703
|
};
|
|
2721
2704
|
/**
|
|
2722
|
-
*
|
|
2705
|
+
* 开关 事件
|
|
2723
2706
|
*/
|
|
2724
|
-
type
|
|
2725
|
-
/**
|
|
2726
|
-
* x轴的跟随策略
|
|
2727
|
-
*/
|
|
2728
|
-
followX?: FollowStrategy;
|
|
2707
|
+
type SwitchEvents = {
|
|
2729
2708
|
/**
|
|
2730
|
-
*
|
|
2709
|
+
* 开关 状态变化时
|
|
2710
|
+
* @param value 开启、还是关闭
|
|
2731
2711
|
*/
|
|
2732
|
-
|
|
2712
|
+
change: [value: boolean];
|
|
2733
2713
|
};
|
|
2714
|
+
|
|
2734
2715
|
/**
|
|
2735
|
-
*
|
|
2716
|
+
* 多行文本框组件配置选项
|
|
2736
2717
|
*/
|
|
2737
|
-
type
|
|
2718
|
+
type TextareaOptions = ReadonlyOptions & PlaceholderOptions & {
|
|
2738
2719
|
/**
|
|
2739
|
-
*
|
|
2720
|
+
* 是否自适应高度
|
|
2721
|
+
* - 传入true时,根据文本框内容,自动调整高度
|
|
2722
|
+
* - 若传入maxRows,则自动高度不会超过maxRows
|
|
2740
2723
|
*/
|
|
2741
|
-
|
|
2724
|
+
autoHeight: boolean;
|
|
2742
2725
|
/**
|
|
2743
|
-
*
|
|
2726
|
+
* 最小行数
|
|
2727
|
+
* - 作为默认行数
|
|
2728
|
+
* - 不传入则默认4
|
|
2744
2729
|
*/
|
|
2745
|
-
|
|
2730
|
+
minRows?: number;
|
|
2746
2731
|
/**
|
|
2747
|
-
*
|
|
2748
|
-
* -
|
|
2732
|
+
* 最大行数
|
|
2733
|
+
* - 不传入则默认10
|
|
2734
|
+
* - `autoHeight`为true时生效;
|
|
2749
2735
|
*/
|
|
2750
|
-
|
|
2736
|
+
maxRows?: number;
|
|
2751
2737
|
};
|
|
2752
|
-
|
|
2753
2738
|
/**
|
|
2754
|
-
*
|
|
2739
|
+
* 多行文本框组件事件
|
|
2755
2740
|
*/
|
|
2756
|
-
|
|
2757
|
-
/**
|
|
2758
|
-
* 弹出
|
|
2759
|
-
* - 弹窗位置位置、大小、动画效果等由组件自己完成
|
|
2760
|
-
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
2761
|
-
* @param options 弹窗配置选项
|
|
2762
|
-
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
2763
|
-
*/
|
|
2764
|
-
popup<T, Props = void, Model = void>(options: PopupOptions<Props, Model>): IAsyncScope<T>;
|
|
2741
|
+
type TextareaEvents = {
|
|
2765
2742
|
/**
|
|
2766
|
-
*
|
|
2767
|
-
* - 支持指定模态和非模态对话框
|
|
2768
|
-
* - 默认垂直水平居中展示
|
|
2769
|
-
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
2770
|
-
* @param options 弹窗配置选项
|
|
2771
|
-
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
2743
|
+
* 获取焦点时
|
|
2772
2744
|
*/
|
|
2773
|
-
|
|
2745
|
+
focus: [];
|
|
2774
2746
|
/**
|
|
2775
|
-
*
|
|
2776
|
-
*
|
|
2777
|
-
* @see ComponentBindOptions 了解 Props、Model 泛型参数的含义
|
|
2778
|
-
* @param target 跟随的目标元素
|
|
2779
|
-
* @param options 跟随配置选项
|
|
2780
|
-
* @returns 弹窗异步作用域,外部可手动关闭弹窗
|
|
2747
|
+
* 输入时
|
|
2748
|
+
* @param value 输入框内容
|
|
2781
2749
|
*/
|
|
2782
|
-
|
|
2750
|
+
input: [value: string];
|
|
2783
2751
|
/**
|
|
2784
|
-
*
|
|
2785
|
-
* @param
|
|
2786
|
-
* @param message 确认提示信息,支持html片段
|
|
2787
|
-
* @param options 确认弹窗其他配置信息
|
|
2788
|
-
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
2752
|
+
* 失焦时
|
|
2753
|
+
* @param value 输入框内容
|
|
2789
2754
|
*/
|
|
2790
|
-
|
|
2755
|
+
blur: [value: string];
|
|
2791
2756
|
/**
|
|
2792
|
-
*
|
|
2793
|
-
* @param
|
|
2794
|
-
* @param message 提示消息
|
|
2795
|
-
* @param options 提示框配置选项
|
|
2796
|
-
* @returns 弹窗打开结果,外部可手动关闭弹窗
|
|
2757
|
+
* 输入框内容发生改变时
|
|
2758
|
+
* @param value 输入框内容
|
|
2797
2759
|
*/
|
|
2798
|
-
|
|
2799
|
-
}
|
|
2760
|
+
change: [value: string];
|
|
2761
|
+
};
|
|
2800
2762
|
|
|
2801
2763
|
/**
|
|
2802
|
-
*
|
|
2764
|
+
* 使用【响应式管理器】
|
|
2765
|
+
* - 请在Vue组件的setup中使用此方法,否则 getCurrentScope 方法无法取到值
|
|
2766
|
+
* @returns 全新的【响应式管理器】+作用域
|
|
2803
2767
|
*/
|
|
2768
|
+
declare function useReactive(): IReactiveManager & IScope;
|
|
2804
2769
|
|
|
2805
2770
|
/**
|
|
2806
|
-
*
|
|
2771
|
+
* 树的基础组件信息
|
|
2772
|
+
* 1、组件基础上下文 默认实现
|
|
2807
2773
|
*/
|
|
2808
|
-
|
|
2809
|
-
/**
|
|
2810
|
-
* 显示【日期】选择器
|
|
2811
|
-
* @param target 哪个元素触发,基于此元素计算位置
|
|
2812
|
-
* @param options 日期选择器配置选项
|
|
2813
|
-
* @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
|
|
2814
|
-
* @returns 异步任务,可销毁日期选择器;可接收日期选择器的选择值
|
|
2815
|
-
*/
|
|
2816
|
-
showDate(target: HTMLElement, options?: DatePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
|
|
2817
|
-
/**
|
|
2818
|
-
* 显示【时间】选择控件
|
|
2819
|
-
* @param target 哪个元素触发,基于此元素计算位置
|
|
2820
|
-
* @param options 时间选择控件配置选项
|
|
2821
|
-
* @param popupOptions 弹窗配置选项;内部根据情况选择属性使用
|
|
2822
|
-
* @returns 异步任务,可销毁时间选择控件;可接收时间选择控件的选择值
|
|
2823
|
-
*/
|
|
2824
|
-
showTime(target: HTMLElement, options?: TimePickerOptions, popupOptions?: PickerPopupOptions): IAsyncScope<string>;
|
|
2825
|
-
}
|
|
2774
|
+
|
|
2826
2775
|
/**
|
|
2827
|
-
*
|
|
2828
|
-
*
|
|
2776
|
+
* 使用【树上下文】
|
|
2777
|
+
* @param nodes 树节点集合
|
|
2778
|
+
* @param activeNodeRef 当前激活的树节点引用;不传入,则无法实现 isActived 判断
|
|
2779
|
+
* @returns 上下文对象+作用域
|
|
2829
2780
|
*/
|
|
2830
|
-
|
|
2781
|
+
declare function useTreeContext<T>(nodes: TreeNode<T, TreeNodeExtend>[], activeNodeRef?: ShallowRef<TreeNode<T, TreeNodeExtend>>): ITreeBaseContext<T> & IScope;
|
|
2782
|
+
|
|
2831
2783
|
/**
|
|
2832
|
-
*
|
|
2784
|
+
* Vue App助手类,做一些app实例的辅助性工作
|
|
2833
2785
|
*/
|
|
2834
|
-
|
|
2835
|
-
|
|
2836
|
-
|
|
2837
|
-
|
|
2838
|
-
|
|
2839
|
-
|
|
2840
|
-
|
|
2841
|
-
|
|
2842
|
-
|
|
2843
|
-
|
|
2844
|
-
|
|
2845
|
-
|
|
2786
|
+
|
|
2787
|
+
/** 私有类型:App类型
|
|
2788
|
+
* - normal 普通app实例
|
|
2789
|
+
* - popup 弹窗app实例;包括 Dialog、Follow等所有弹窗
|
|
2790
|
+
*/
|
|
2791
|
+
type AppType = "normal" | "popup";
|
|
2792
|
+
/**
|
|
2793
|
+
* app实例创建完之后的回调通知
|
|
2794
|
+
* @param fn 回调通知
|
|
2795
|
+
* @returns 通知句柄,可销毁回调通知,一般在外部销毁时执行
|
|
2796
|
+
*/
|
|
2797
|
+
declare function onAppCreated(fn: (app: App, type?: AppType) => void): IScope;
|
|
2798
|
+
/**
|
|
2799
|
+
* 触发app创建后事件
|
|
2800
|
+
* @param app 创建的app实例
|
|
2801
|
+
* @param type app创建类型;满足区分特定app实例使用
|
|
2802
|
+
* @returns app自身
|
|
2803
|
+
*/
|
|
2804
|
+
declare function triggerAppCreated(app: App, type?: AppType): App;
|
|
2846
2805
|
|
|
2847
2806
|
/**
|
|
2848
|
-
*
|
|
2849
|
-
* @returns 选择器实例+作用域对象
|
|
2807
|
+
* 图标助手类
|
|
2850
2808
|
*/
|
|
2851
|
-
declare function usePicker(): IPickerManager & IScope;
|
|
2852
2809
|
|
|
2853
2810
|
/**
|
|
2854
|
-
*
|
|
2855
|
-
* @
|
|
2811
|
+
* 获取内置图标绘制路径
|
|
2812
|
+
* @param iconType 图标类型
|
|
2813
|
+
* @returns 图标路径
|
|
2856
2814
|
*/
|
|
2857
|
-
declare function
|
|
2815
|
+
declare function getBuiltinIcon(iconType: IconType): string[];
|
|
2816
|
+
|
|
2817
|
+
/**
|
|
2818
|
+
* 动态加载组件 组件配置选项
|
|
2819
|
+
*/
|
|
2820
|
+
type DynamicOptions<Props = void> = ComponentOptions & Pick<ComponentBindOptions<Props>, "props">;
|
|
2821
|
+
|
|
2822
|
+
/**
|
|
2823
|
+
* 挂载指定的Vue组件
|
|
2824
|
+
* - 权限构建的vue app实例,挂载传入的组件
|
|
2825
|
+
* @param target 挂载的目标元素
|
|
2826
|
+
* @param options 挂载配置选项
|
|
2827
|
+
* @param onDestroyed 监听【调用方】的销毁时机,用于自动销毁挂载的实力
|
|
2828
|
+
* @returns 作用域对象,销毁挂载实例
|
|
2829
|
+
*/
|
|
2830
|
+
declare function mount<Props>(target: HTMLElement, options: DynamicOptions<Props>, onDestroyed?: (fn: () => void) => void): IScope;
|
|
2831
|
+
|
|
2832
|
+
/**
|
|
2833
|
+
* 运动组件的助手方法变量
|
|
2834
|
+
*/
|
|
2835
|
+
/**
|
|
2836
|
+
* 运行效果常量
|
|
2837
|
+
*/
|
|
2838
|
+
declare const MOTION: Readonly<{
|
|
2839
|
+
/** 淡入淡出;进入时 `opacity:0~1`;退出时 `opacity:1~0`*/
|
|
2840
|
+
fade: {
|
|
2841
|
+
enter: string;
|
|
2842
|
+
leave: string;
|
|
2843
|
+
};
|
|
2844
|
+
/** 缩放进入:进入时 `scale:0~1`;退出时 `scale:1~0`*/
|
|
2845
|
+
scale: {
|
|
2846
|
+
enter: string;
|
|
2847
|
+
leave: string;
|
|
2848
|
+
};
|
|
2849
|
+
/** 旋转:进入时 `rotate:360deg~0`;退出时 `rotate:0~360deg`*/
|
|
2850
|
+
rotate: {
|
|
2851
|
+
enter: string;
|
|
2852
|
+
leave: string;
|
|
2853
|
+
};
|
|
2854
|
+
/** 顶部进入退出:进入时`translateY:-100%~0`;退出时`translateY:0~-100%`*/
|
|
2855
|
+
top: {
|
|
2856
|
+
enter: string;
|
|
2857
|
+
leave: string;
|
|
2858
|
+
};
|
|
2859
|
+
/** 顶部进入底部退出:进入时`translateY:-100%~0`;退出时`translateY:0~100%`*/
|
|
2860
|
+
topBottom: {
|
|
2861
|
+
enter: string;
|
|
2862
|
+
leave: string;
|
|
2863
|
+
};
|
|
2864
|
+
/** 底部进入退出:进入时`translateY:100%~0`;退出时`translateY:0~100%`*/
|
|
2865
|
+
bottom: {
|
|
2866
|
+
enter: string;
|
|
2867
|
+
leave: string;
|
|
2868
|
+
};
|
|
2869
|
+
/** 底部进入顶部退出:进入时`translateY:100%~0`;退出时`translateY:0~-100%`*/
|
|
2870
|
+
bottomTop: {
|
|
2871
|
+
enter: string;
|
|
2872
|
+
leave: string;
|
|
2873
|
+
};
|
|
2874
|
+
/** 左侧进入退出:进入时`translateX:-100%~0`;退出时`translateX:0~-100%`*/
|
|
2875
|
+
left: {
|
|
2876
|
+
enter: string;
|
|
2877
|
+
leave: string;
|
|
2878
|
+
};
|
|
2879
|
+
/** 左侧进入右侧退出:进入时`translateX:-100%~0`;退出时`translateX:0~100%`*/
|
|
2880
|
+
leftRight: {
|
|
2881
|
+
enter: string;
|
|
2882
|
+
leave: string;
|
|
2883
|
+
};
|
|
2884
|
+
/** 右侧进入右侧退出:进入时`translateX:100%~0`;退出时`translateX:0~100%`*/
|
|
2885
|
+
right: {
|
|
2886
|
+
enter: string;
|
|
2887
|
+
leave: string;
|
|
2888
|
+
};
|
|
2889
|
+
/** 右侧进入左侧退出:进入时`translateX:100%~0`;退出时`translateX:0~-100%`*/
|
|
2890
|
+
rightLeft: {
|
|
2891
|
+
enter: string;
|
|
2892
|
+
leave: string;
|
|
2893
|
+
};
|
|
2894
|
+
}>;
|
|
2895
|
+
|
|
2896
|
+
/**
|
|
2897
|
+
* 使用选择器
|
|
2898
|
+
* @returns 选择器实例+作用域对象
|
|
2899
|
+
*/
|
|
2900
|
+
declare function usePicker(): IPickerManager & IScope;
|
|
2858
2901
|
|
|
2859
2902
|
declare const components: {
|
|
2860
2903
|
Action: {
|
|
@@ -2893,18 +2936,28 @@ declare const components: {
|
|
|
2893
2936
|
};
|
|
2894
2937
|
});
|
|
2895
2938
|
Button: {
|
|
2896
|
-
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ButtonOptions> & Readonly<{
|
|
2939
|
+
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<ButtonOptions> & Readonly<{
|
|
2940
|
+
onClick?: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
2941
|
+
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
2942
|
+
click: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
2943
|
+
}, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
|
|
2897
2944
|
P: {};
|
|
2898
2945
|
B: {};
|
|
2899
2946
|
D: {};
|
|
2900
2947
|
C: {};
|
|
2901
2948
|
M: {};
|
|
2902
2949
|
Defaults: {};
|
|
2903
|
-
}, Readonly<ButtonOptions> & Readonly<{
|
|
2950
|
+
}, Readonly<ButtonOptions> & Readonly<{
|
|
2951
|
+
onClick?: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
2952
|
+
}>, {}, {}, {}, {}, {}>;
|
|
2904
2953
|
__isFragment?: never;
|
|
2905
2954
|
__isTeleport?: never;
|
|
2906
2955
|
__isSuspense?: never;
|
|
2907
|
-
} & vue.ComponentOptionsBase<Readonly<ButtonOptions> & Readonly<{
|
|
2956
|
+
} & vue.ComponentOptionsBase<Readonly<ButtonOptions> & Readonly<{
|
|
2957
|
+
onClick?: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
2958
|
+
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
2959
|
+
click: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
2960
|
+
}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
2908
2961
|
$slots: {
|
|
2909
2962
|
default?: (props: {}) => any;
|
|
2910
2963
|
};
|
|
@@ -2994,18 +3047,28 @@ declare const components: {
|
|
|
2994
3047
|
};
|
|
2995
3048
|
});
|
|
2996
3049
|
Icon: {
|
|
2997
|
-
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<IconOptions> & Readonly<{
|
|
3050
|
+
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<IconOptions> & Readonly<{
|
|
3051
|
+
onClick?: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
3052
|
+
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
3053
|
+
click: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
3054
|
+
}, vue.PublicProps, {}, true, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
|
|
2998
3055
|
P: {};
|
|
2999
3056
|
B: {};
|
|
3000
3057
|
D: {};
|
|
3001
3058
|
C: {};
|
|
3002
3059
|
M: {};
|
|
3003
3060
|
Defaults: {};
|
|
3004
|
-
}, Readonly<IconOptions> & Readonly<{
|
|
3061
|
+
}, Readonly<IconOptions> & Readonly<{
|
|
3062
|
+
onClick?: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
3063
|
+
}>, {}, {}, {}, {}, {}>;
|
|
3005
3064
|
__isFragment?: never;
|
|
3006
3065
|
__isTeleport?: never;
|
|
3007
3066
|
__isSuspense?: never;
|
|
3008
|
-
} & vue.ComponentOptionsBase<Readonly<IconOptions> & Readonly<{
|
|
3067
|
+
} & vue.ComponentOptionsBase<Readonly<IconOptions> & Readonly<{
|
|
3068
|
+
onClick?: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
3069
|
+
}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
3070
|
+
click: (evt?: MouseEvent | TouchEvent | PointerEvent) => any;
|
|
3071
|
+
}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
3009
3072
|
$slots: {
|
|
3010
3073
|
default?: (props: {}) => any;
|
|
3011
3074
|
};
|
|
@@ -3017,8 +3080,8 @@ declare const components: {
|
|
|
3017
3080
|
} & {
|
|
3018
3081
|
modelValue?: string;
|
|
3019
3082
|
}, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
3020
|
-
change: (value: string) => any;
|
|
3021
3083
|
click: () => any;
|
|
3084
|
+
change: (value: string) => any;
|
|
3022
3085
|
"update:modelValue": (value: string) => any;
|
|
3023
3086
|
}, string, vue.PublicProps, Readonly<ReadonlyOptions & PlaceholderOptions & TitleOptions & {
|
|
3024
3087
|
type?: "text" | "number" | "password";
|
|
@@ -3027,8 +3090,8 @@ declare const components: {
|
|
|
3027
3090
|
} & {
|
|
3028
3091
|
modelValue?: string;
|
|
3029
3092
|
}> & Readonly<{
|
|
3030
|
-
onChange?: (value: string) => any;
|
|
3031
3093
|
onClick?: () => any;
|
|
3094
|
+
onChange?: (value: string) => any;
|
|
3032
3095
|
"onUpdate:modelValue"?: (value: string) => any;
|
|
3033
3096
|
}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
3034
3097
|
Number: vue.DefineComponent<PlaceholderOptions & ReadonlyOptions & NumberBaseOptions & {
|
|
@@ -3637,35 +3700,47 @@ declare const components: {
|
|
|
3637
3700
|
DatePicker: vue.DefineComponent<ReadonlyOptions & {
|
|
3638
3701
|
value?: string;
|
|
3639
3702
|
format?: snail_core.DateFormat;
|
|
3703
|
+
mode?: "default" | "simple";
|
|
3640
3704
|
min?: string;
|
|
3641
3705
|
max?: string;
|
|
3642
3706
|
minPickTime?: string;
|
|
3643
3707
|
maxPickTime?: string;
|
|
3644
|
-
} & DatetimeDisabledOptions
|
|
3708
|
+
} & DatetimeDisabledOptions & {
|
|
3709
|
+
popup?: PickerPopupOptions;
|
|
3710
|
+
}, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
3645
3711
|
change: (newValue: string, oldValue?: string) => any;
|
|
3646
3712
|
}, string, vue.PublicProps, Readonly<ReadonlyOptions & {
|
|
3647
3713
|
value?: string;
|
|
3648
3714
|
format?: snail_core.DateFormat;
|
|
3715
|
+
mode?: "default" | "simple";
|
|
3649
3716
|
min?: string;
|
|
3650
3717
|
max?: string;
|
|
3651
3718
|
minPickTime?: string;
|
|
3652
3719
|
maxPickTime?: string;
|
|
3653
|
-
} & DatetimeDisabledOptions
|
|
3720
|
+
} & DatetimeDisabledOptions & {
|
|
3721
|
+
popup?: PickerPopupOptions;
|
|
3722
|
+
}> & Readonly<{
|
|
3654
3723
|
onChange?: (newValue: string, oldValue?: string) => any;
|
|
3655
3724
|
}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
3656
3725
|
TimePicker: vue.DefineComponent<ReadonlyOptions & {
|
|
3657
3726
|
value?: string;
|
|
3658
3727
|
format?: "HH:mm:ss" | "HH:mm";
|
|
3728
|
+
mode?: "default" | "simple";
|
|
3659
3729
|
min?: string;
|
|
3660
3730
|
max?: string;
|
|
3661
|
-
} & DatetimeDisabledOptions
|
|
3731
|
+
} & DatetimeDisabledOptions & {
|
|
3732
|
+
popup?: PickerPopupOptions;
|
|
3733
|
+
}, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
3662
3734
|
change: (newValue: string, oldValue?: string) => any;
|
|
3663
3735
|
}, string, vue.PublicProps, Readonly<ReadonlyOptions & {
|
|
3664
3736
|
value?: string;
|
|
3665
3737
|
format?: "HH:mm:ss" | "HH:mm";
|
|
3738
|
+
mode?: "default" | "simple";
|
|
3666
3739
|
min?: string;
|
|
3667
3740
|
max?: string;
|
|
3668
|
-
} & DatetimeDisabledOptions
|
|
3741
|
+
} & DatetimeDisabledOptions & {
|
|
3742
|
+
popup?: PickerPopupOptions;
|
|
3743
|
+
}> & Readonly<{
|
|
3669
3744
|
onChange?: (newValue: string, oldValue?: string) => any;
|
|
3670
3745
|
}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
3671
3746
|
DragVerify: vue.DefineComponent<DragVerifyOptions, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
|