@vrx-arco/use
Version:
<p align="center"> <img src="https://vrx-arco.github.io/arco-design-pro/favicon.svg" width="200" height="250"> </p>
160 lines (147 loc) • 6.76 kB
TypeScript
import { MaybeRef } from "@vueuse/core";
import * as vue0 from "vue";
import * as vue25 from "vue";
import * as vue20 from "vue";
import * as vue22 from "vue";
import * as vue24 from "vue";
import { MaybeRefOrGetter, Ref } from "vue";
import { PaginationProps, TableColumnData, TableData, TreeFieldNames, TreeSelectInstance } from "@arco-design/web-vue";
//#region src/useShareBreakpoints/index.d.ts
declare const useShareBreakpoints: () => Record<"sm" | "md" | "lg" | "xl" | "xxl", vue0.ComputedRef<boolean>> & {
greaterOrEqual: (k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">) => vue0.ComputedRef<boolean>;
smallerOrEqual: (k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">) => vue0.ComputedRef<boolean>;
greater(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): vue0.ComputedRef<boolean>;
smaller(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): vue0.ComputedRef<boolean>;
between(a: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">, b: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): vue0.ComputedRef<boolean>;
isGreater(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean;
isGreaterOrEqual(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean;
isSmaller(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean;
isSmallerOrEqual(k: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean;
isInBetween(a: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">, b: vue0.MaybeRefOrGetter<"sm" | "md" | "lg" | "xl" | "xxl">): boolean;
current: () => vue0.ComputedRef<("sm" | "md" | "lg" | "xl" | "xxl")[]>;
active(): vue0.ComputedRef<"" | "sm" | "md" | "lg" | "xl" | "xxl">;
};
//#endregion
//#region src/propsSlot/index.d.ts
declare const propsSlot: <Prop extends Record<string, any> = Record<string, any>>(slots: any, props: Prop, key: keyof Prop, slotKey?: string) => any;
//#endregion
//#region src/useProPagination/types.d.ts
interface ProPaginationOption {
total: number;
pageNum: number;
pageSize: number;
}
type PropPaginationProps = Omit<PaginationProps, 'total' | 'current' | 'pageSize'>;
//#endregion
//#region src/useProPagination/useProPagination.d.ts
declare const useProPagination: (data: Ref<any[]>, pagination: Ref<true | ProPaginationOption | undefined>, paginationProps: Ref<PaginationProps | undefined>) => {
data: vue25.ComputedRef<any[]>;
total: vue25.ComputedRef<number>;
current: Ref<number, number>;
pageSize: any;
pageChange: (value: number) => void;
pageSizeChange: (value: number) => void;
} | {
total: vue25.ComputedRef<number>;
current: vue25.WritableComputedRef<number, number>;
pageSize: vue25.WritableComputedRef<number, number>;
pageChange: (value: number) => void;
pageSizeChange: (value: number) => void;
data: Ref<any[], any[]>;
};
//#endregion
//#region src/useGrid/index.d.ts
declare const useGrid: (useColumn: boolean, column: Ref<Record<string, any> | number>, gutter?: Ref<number | [number, number]>) => {
gridProps: vue20.ComputedRef<{
span: number;
gutter: number | [number, number] | undefined;
}>;
grid: vue20.ComputedRef<string>;
};
//#endregion
//#region src/controlVModel/index.d.ts
declare const controlVModel: <Props extends Record<string, any>, Key extends keyof Props, Data extends Props[Key]>(props: Props, name: Key, emit: any, init: () => Data) => Ref<Data>;
//#endregion
//#region src/filterEmptyChildren/index.d.ts
declare const filterEmptyChildren: (children?: any[]) => any[];
//#endregion
//#region src/useEmptyComponent/index.d.ts
declare const useEmptyComponentProvide: () => {
empty: vue22.Ref<boolean, boolean>;
};
declare const useEmptyComponentInject: () => {
empty: vue22.Ref<boolean, boolean>;
};
//#endregion
//#region src/interface.d.ts
/**
* `<ATableColumn/>` cell 插槽的类型帮助方法
*/
interface ATableColumnCell<Record extends TableData = TableData> {
record: Record;
column: TableColumnData;
rowIndex: number;
}
//#endregion
//#region src/createTreeSelectFilterNode.d.ts
interface CreateTreeSelectFilterNodeReturn {
fieldNames: MaybeRef<TreeFieldNames>;
filterTreeNode: TreeSelectInstance['filterTreeNode'];
}
/**
* 解决arco tree-select反人类的默认筛选 key 的帮助方法
* 简洁的封装 tree-select 筛选 title 的逻辑
*
* ```vue
* <script setup lang="ts">
* import { createTreeSelectFilterNode } from '@vrx-arco/use'
* const treeFilter = createTreeSelectFilterNode({title:'name'})
* </script>
* <template>
* <ATeeSelect v-bind="treeFilter"/>
* </template>
* ```
* *** 暂时不要将这个方法用到生产,现在还是半成品,可能会更改 ***
* @inner
*/
declare const createTreeSelectFilterNode: (fieldNames: MaybeRef<TreeFieldNames>) => CreateTreeSelectFilterNodeReturn;
//#endregion
//#region src/useRangePickerValue.d.ts
/**
* 解决在使用 arco RangePicker 向后端传递数据时常常要将数据处理成,以下形式的问题
* 要将 ['2024-11-20 11:20:00','2024-11-20 21:20:00'] 数据转换为 {startTime:'2024-11-20 11:20:00',endTime:'2024-11-20 21:20:00'}
*
* ```vue
* <script setup lang="ts">
* import { useRangePickerObjectValue } from '@vrx-arco/use'
* const model = ref({})
* const rangePickerValue = useRangePickerObjectValue(model,'startTime','endTime')
*
* const handleSubmit = ()=>{
* // 提交 以下格式数据{startTime:'2024-11-20 11:20:00',endTime:'2024-11-20 21:20:00'}
* fetch('/api/submit',{method:'post',body:JSON.stringify(model.value)})
* }
* </script>
* <template>
* <AForm :model="model" @submit="handleSubmit">
* <AFormItem>
* <ARangePicker v-model="rangePickerValue" />
* </AFormItem>
* </AForm>
* </template>
* ```
* *** 暂时不要将这个方法用到生产,现在还是半成品,可能会更改 ***
* @inner
*/
declare const useRangePickerObjectValue: <Modal extends Record<string, any>>(model: MaybeRefOrGetter<Modal>, startKey: keyof Modal, endKey: keyof Modal) => vue24.WritableComputedRef<(string | number | Date)[], (string | number | Date)[]>;
//#endregion
//#region src/useAbortController.d.ts
interface IUseAbortController {
onabort?: () => void;
}
declare function useAbortController(options?: IUseAbortController): {
abort: () => void;
readonly signal: AbortSignal | undefined;
};
//#endregion
export { ATableColumnCell, CreateTreeSelectFilterNodeReturn, IUseAbortController, ProPaginationOption, PropPaginationProps, ATableColumnCell as TableColumnCell, controlVModel, createTreeSelectFilterNode, filterEmptyChildren, propsSlot, useAbortController, useEmptyComponentInject, useEmptyComponentProvide, useGrid, useProPagination, useRangePickerObjectValue, useShareBreakpoints };