qianfenwei

This commit is contained in:
2022-12-12 09:08:28 +08:00
parent c696834501
commit 254ef38f6a
40 changed files with 1457 additions and 1103 deletions

View File

@@ -1,3 +1,4 @@
export * from "./domUtil";
export * from "./withInstall";
export * from "./arrayUtil";
export * from "./vueUtil";

27
types/utils/vueUtil.d.ts vendored Normal file
View File

@@ -0,0 +1,27 @@
import { Component, ComponentInternalInstance, VNode, VNodeTypes } from "vue";
export declare enum ShapeFlags {
ELEMENT = 1,
FUNCTIONAL_COMPONENT = 2,
STATEFUL_COMPONENT = 4,
COMPONENT = 6,
TEXT_CHILDREN = 8,
ARRAY_CHILDREN = 16,
SLOTS_CHILDREN = 32,
TELEPORT = 64,
SUSPENSE = 128,
COMPONENT_SHOULD_KEEP_ALIVE = 256,
COMPONENT_KEPT_ALIVE = 512
}
export declare const isElement: (vn: VNode) => boolean;
export declare const isComponent: (vn: VNode, type?: VNodeTypes) => type is Component<any, any, any, import("vue").ComputedOptions, import("vue").MethodOptions>;
export declare const isArrayChildren: (vn: VNode, children: VNode["children"]) => children is VNode<import("vue").RendererNode, import("vue").RendererElement, {
[key: string]: any;
}>[];
/**
* 同时支持驼峰命名和破折号命名的插槽示例back-icon 和 backIcon
* @param vm 组件实例
* @param name 插槽名
*/
export declare function convertSlotName(vm: ComponentInternalInstance, name: string): string;
export declare function camelCase(str: string): string;
export declare function kebabCase(key: string): string;