xrk-components 0.3.0 → 0.3.1

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.
Files changed (104) hide show
  1. package/lib/index.css +7 -2
  2. package/lib/index.esm.js +73 -28
  3. package/lib/index.umd.js +73 -28
  4. package/package.json +1 -1
  5. package/lib/packages/base/button/button.d.ts +0 -124
  6. package/lib/packages/base/button/index.d.ts +0 -18
  7. package/lib/packages/base/checkbox/checkbox-button.d.ts +0 -85
  8. package/lib/packages/base/checkbox/checkbox-group.d.ts +0 -83
  9. package/lib/packages/base/checkbox/checkbox.d.ts +0 -102
  10. package/lib/packages/base/checkbox/index.d.ts +0 -44
  11. package/lib/packages/base/date-picker/date-picker.d.ts +0 -227
  12. package/lib/packages/base/date-picker/index.d.ts +0 -34
  13. package/lib/packages/base/dialog/dialog.d.ts +0 -212
  14. package/lib/packages/base/dialog/index.d.ts +0 -30
  15. package/lib/packages/base/form/form-item.d.ts +0 -87
  16. package/lib/packages/base/form/form.d.ts +0 -128
  17. package/lib/packages/base/form/index.d.ts +0 -30
  18. package/lib/packages/base/input/index.d.ts +0 -44
  19. package/lib/packages/base/input/input.d.ts +0 -284
  20. package/lib/packages/base/pagination/index.d.ts +0 -18
  21. package/lib/packages/base/pagination/pagination.d.ts +0 -95
  22. package/lib/packages/base/radio/index.d.ts +0 -37
  23. package/lib/packages/base/radio/radio-button.d.ts +0 -51
  24. package/lib/packages/base/radio/radio-group.d.ts +0 -59
  25. package/lib/packages/base/radio/radio.d.ts +0 -68
  26. package/lib/packages/base/select/index.d.ts +0 -39
  27. package/lib/packages/base/select/select.d.ts +0 -240
  28. package/lib/packages/base/switch/index.d.ts +0 -17
  29. package/lib/packages/base/switch/switch.d.ts +0 -114
  30. package/lib/packages/base/table/hooks/use-table.d.ts +0 -2
  31. package/lib/packages/base/table/index.d.ts +0 -5
  32. package/lib/packages/base/table/store/index.d.ts +0 -8
  33. package/lib/packages/base/table/table-column.d.ts +0 -291
  34. package/lib/packages/base/table/table.d.ts +0 -190
  35. package/lib/packages/base/table/types/type.d.ts +0 -111
  36. package/lib/packages/base/tag/index.d.ts +0 -38
  37. package/lib/packages/base/tag/tag-group.d.ts +0 -138
  38. package/lib/packages/base/tag/tag.d.ts +0 -81
  39. package/lib/packages/base/tool-tip/index.d.ts +0 -14
  40. package/lib/packages/base/tool-tip/tool-tip.d.ts +0 -106
  41. package/lib/packages/components.d.ts +0 -14
  42. package/lib/packages/functions.d.ts +0 -3
  43. package/lib/packages/index.d.ts +0 -10
  44. package/lib/packages/types.d.ts +0 -15
  45. package/lib/packages/xrk/search/hooks/use-search.d.ts +0 -45
  46. package/lib/packages/xrk/search/index.d.ts +0 -9
  47. package/lib/packages/xrk/search/search.d.ts +0 -59
  48. package/lib/packages/xrk/search/types/type.d.ts +0 -61
  49. package/lib/packages/xrk/table/hooks/use-table.d.ts +0 -6
  50. package/lib/packages/xrk/table/index.d.ts +0 -3
  51. package/lib/packages/xrk/table/table.d.ts +0 -63
  52. package/lib/packages/xrk/table/types/type.d.ts +0 -21
  53. package/lib/tools/check.d.ts +0 -1
  54. package/packages/base/button/button.vue +0 -83
  55. package/packages/base/button/index.ts +0 -26
  56. package/packages/base/checkbox/checkbox-button.vue +0 -54
  57. package/packages/base/checkbox/checkbox-group.vue +0 -85
  58. package/packages/base/checkbox/checkbox.vue +0 -85
  59. package/packages/base/checkbox/index.ts +0 -62
  60. package/packages/base/date-picker/date-picker.vue +0 -144
  61. package/packages/base/date-picker/index.ts +0 -52
  62. package/packages/base/dialog/dialog.vue +0 -214
  63. package/packages/base/dialog/index.ts +0 -57
  64. package/packages/base/form/form-item.vue +0 -57
  65. package/packages/base/form/form.vue +0 -70
  66. package/packages/base/form/index.ts +0 -39
  67. package/packages/base/input/index.ts +0 -50
  68. package/packages/base/input/input.vue +0 -175
  69. package/packages/base/pagination/index.ts +0 -30
  70. package/packages/base/pagination/pagination.vue +0 -160
  71. package/packages/base/radio/index.ts +0 -49
  72. package/packages/base/radio/radio-button.vue +0 -46
  73. package/packages/base/radio/radio-group.vue +0 -77
  74. package/packages/base/radio/radio.vue +0 -74
  75. package/packages/base/select/index.ts +0 -62
  76. package/packages/base/select/select.vue +0 -258
  77. package/packages/base/switch/index.ts +0 -26
  78. package/packages/base/switch/switch.vue +0 -103
  79. package/packages/base/table/hooks/use-table.ts +0 -15
  80. package/packages/base/table/index.ts +0 -16
  81. package/packages/base/table/store/index.ts +0 -35
  82. package/packages/base/table/table-column.vue +0 -351
  83. package/packages/base/table/table.vue +0 -168
  84. package/packages/base/table/types/type.ts +0 -123
  85. package/packages/base/tag/index.ts +0 -52
  86. package/packages/base/tag/tag-group.vue +0 -182
  87. package/packages/base/tag/tag.vue +0 -54
  88. package/packages/base/tool-tip/index.ts +0 -30
  89. package/packages/base/tool-tip/tool-tip.vue +0 -108
  90. package/packages/components.ts +0 -33
  91. package/packages/functions.ts +0 -16
  92. package/packages/index.ts +0 -30
  93. package/packages/types.ts +0 -54
  94. package/packages/xrk/search/hooks/use-search.ts +0 -96
  95. package/packages/xrk/search/index.ts +0 -22
  96. package/packages/xrk/search/search.vue +0 -197
  97. package/packages/xrk/search/types/type.ts +0 -95
  98. package/packages/xrk/table/hooks/use-table.tsx +0 -34
  99. package/packages/xrk/table/index.ts +0 -10
  100. package/packages/xrk/table/table.vue +0 -218
  101. package/packages/xrk/table/types/type.ts +0 -31
  102. package/styles/element/index.scss +0 -5
  103. package/styles/element/mixin.scss +0 -40
  104. package/tools/check.ts +0 -9
@@ -1,61 +0,0 @@
1
- import { Component, CSSProperties } from 'vue';
2
- import { BaseInputProps } from '../../../base/input';
3
- import { BaseDatePickerProps } from '../../../base/date-picker';
4
- import { BaseSelectProps, SelectOptionType, SelectValueType } from '../../../base/select';
5
- import { FormItemRule } from 'element-plus';
6
- declare type AnyObject = Record<string, any>;
7
- export declare type BaseSelectListener = {
8
- onChange?: (value: SelectValueType, selectOptions: Array<SelectOptionType>, searchValue: AnyObject) => void;
9
- onRemoveTag?: (value: SelectValueType, searchValue: AnyObject) => void;
10
- onVisibleChange?: (visibleStatus: boolean, searchValue: AnyObject) => void;
11
- onClear?: (searchValue: AnyObject) => void;
12
- };
13
- export declare type BaseInputListener = {
14
- onBlur?: (events: Event, searchValue: AnyObject) => void;
15
- onFocus?: (events: Event, searchValue: AnyObject) => void;
16
- onKeyup?: (events: Event, searchValue: AnyObject) => void;
17
- onChange?: (value: string | number | KeyboardEvent, searchValue: AnyObject) => void;
18
- onInput?: (value: string | number | KeyboardEvent, searchValue: AnyObject) => void;
19
- onClear?: (searchValue: AnyObject) => void;
20
- };
21
- export declare type BaseDatePickerListener = {
22
- onChange?: (value: any, searchValue: AnyObject) => void;
23
- onVisibleChange?: (visibleStatus: boolean, searchValue: AnyObject) => void;
24
- onCalendarChange?: (val: [Date, Date | null], searchValue: AnyObject) => void;
25
- };
26
- export interface ComponentsType {
27
- input: Component;
28
- select: Component;
29
- datePicker: Component;
30
- }
31
- export declare type SerachColumnBaseType<T, S> = {
32
- type?: keyof ComponentsType;
33
- label?: string;
34
- style?: CSSProperties;
35
- defaultValue?: any;
36
- prop: string;
37
- rules?: FormItemRule | Array<FormItemRule>;
38
- disabled?: boolean | ((searchValue: AnyObject) => Promise<boolean> | boolean);
39
- config?: T;
40
- listener?: S;
41
- };
42
- export declare type SerachColumnType = SerachColumnBaseType<BaseInputProps | BaseSelectProps | BaseDatePickerProps, BaseInputListener | BaseSelectListener | BaseDatePickerListener>;
43
- export declare type SearchBtnType = {
44
- text?: string;
45
- show?: boolean;
46
- beforeSearch?: (searchValue: AnyObject) => AnyObject | Promise<AnyObject>;
47
- afterSearch?: (searchValue: AnyObject) => void | AnyObject | Promise<AnyObject>;
48
- };
49
- export declare type ResetBtnType = {
50
- text?: string;
51
- show?: boolean;
52
- beforeReset?: (searchValue: AnyObject) => AnyObject | Promise<AnyObject>;
53
- afterReset?: (searchValue: AnyObject) => void | AnyObject | Promise<AnyObject>;
54
- };
55
- export interface ComponentRender {
56
- render: (renderInfo: {
57
- columns: Array<SerachColumnType>;
58
- searchValue: Record<string, any>;
59
- }) => Component;
60
- }
61
- export {};
@@ -1,6 +0,0 @@
1
- export declare const useTable: (config: any) => {
2
- pageIsLoading: import("vue").Ref<boolean>;
3
- pageAllData: import("vue").Ref<any[]>;
4
- paginationTotal: import("vue").Ref<number>;
5
- getList: (query: any) => Promise<void>;
6
- };
@@ -1,3 +0,0 @@
1
- import { DefineComponent } from 'vue';
2
- import { XrkTableProps } from './types/type';
3
- export declare const XrkTable: DefineComponent<XrkTableProps, {}, {}, import("vue").ComputedOptions, import("vue").MethodOptions, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<XrkTableProps>, {}>;
@@ -1,63 +0,0 @@
1
- declare const _default: import("vue").DefineComponent<{
2
- requestNow: {
3
- type: BooleanConstructor;
4
- required: false;
5
- default: boolean;
6
- };
7
- getListAjax: {
8
- type: FunctionConstructor;
9
- required: true;
10
- };
11
- searchConfig: {
12
- type: ObjectConstructor;
13
- required: true;
14
- };
15
- tableConfig: {
16
- type: ObjectConstructor;
17
- required: true;
18
- };
19
- paginationConfig: {
20
- type: ObjectConstructor;
21
- required: false;
22
- default: () => {
23
- pageNoKey: string;
24
- pageSizeKey: string;
25
- paginationPageSize: number;
26
- paginationCurrentPage: number;
27
- };
28
- };
29
- }, (_ctx: any, _cache: any) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
30
- [key: string]: any;
31
- }>, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
32
- requestNow: {
33
- type: BooleanConstructor;
34
- required: false;
35
- default: boolean;
36
- };
37
- getListAjax: {
38
- type: FunctionConstructor;
39
- required: true;
40
- };
41
- searchConfig: {
42
- type: ObjectConstructor;
43
- required: true;
44
- };
45
- tableConfig: {
46
- type: ObjectConstructor;
47
- required: true;
48
- };
49
- paginationConfig: {
50
- type: ObjectConstructor;
51
- required: false;
52
- default: () => {
53
- pageNoKey: string;
54
- pageSizeKey: string;
55
- paginationPageSize: number;
56
- paginationCurrentPage: number;
57
- };
58
- };
59
- }>>, {
60
- requestNow: boolean;
61
- paginationConfig: Record<string, any>;
62
- }>;
63
- export default _default;
@@ -1,21 +0,0 @@
1
- import { BaseTableColumnProps } from '../../../base/table/types/type';
2
- import { ComponentRender, ResetBtnType, SearchBtnType, SerachColumnType } from '../../search/types/type';
3
- export declare type XrkTableProps = {
4
- requestNow?: boolean;
5
- getListAjax: (...args: any) => Promise<any> | any;
6
- searchConfig: {
7
- searchColumns: Array<SerachColumnType>;
8
- searchBtn?: SearchBtnType;
9
- resetBtn?: ResetBtnType;
10
- othertComponents?: Array<ComponentRender>;
11
- };
12
- tableConfig: {
13
- tableColumns: Array<BaseTableColumnProps>;
14
- };
15
- paginationConfig?: {
16
- pageNoKey?: string;
17
- pageSizeKey?: string;
18
- paginationPageSize: number;
19
- paginationCurrentPage: number;
20
- };
21
- };
@@ -1 +0,0 @@
1
- export declare function isFunction<T = Function>(val: unknown): val is T;
@@ -1,83 +0,0 @@
1
- <!--
2
- * @Description:
3
- * @Date: 2022-06-21 11:14:09
4
- -->
5
- <template>
6
- <el-button
7
- @click="handleClick"
8
- :loading="isLoading"
9
- :size="size"
10
- :type="type"
11
- :plain="plain"
12
- :round="round"
13
- :circle="circle"
14
- :disabled="disabled"
15
- :autofocus="autofocus"
16
- :autoInsertSpace="autoInsertSpace"
17
- :nativeType="nativeType"
18
- :loadingIcon="loadingIcon"
19
- :icon="icon"
20
- >
21
- <slot></slot>
22
- </el-button>
23
- </template>
24
-
25
- <script lang="tsx">
26
- export default {
27
- name: 'base-button'
28
- };
29
- </script>
30
-
31
- <script lang="tsx" setup>
32
- import { Component, computed, ref } from 'vue';
33
- import { ElButton } from 'element-plus';
34
- import { BaseButtonProps } from './index';
35
-
36
- const _props = withDefaults(
37
- defineProps<{
38
- click?: any; // 自定义方法 , 用于事件同步执行
39
- loading?: boolean; // 是否为加载中状态
40
- loadingIcon?: any; // 自定义加载中状态图标组件
41
- size?: 'large' | 'default' | 'small'; // 尺寸
42
- type?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text';
43
- plain?: boolean; // 是否为朴素按钮
44
- round?: boolean; // 是否为圆角按钮
45
- circle?: boolean; // 是否为圆形按钮
46
- disabled?: boolean; // 按钮是否为禁用状态
47
- autofocus?: boolean; // 原生 autofocus 属性
48
- autoInsertSpace?: boolean; // 自动在两个中文字符之间插入空格
49
- nativeType?: 'button' | 'submit' | 'reset'; // 原生 type 属性
50
- icon?: any; // 图标组件
51
- }>(),
52
- {
53
- type: 'primary',
54
- size: 'default'
55
- }
56
- );
57
-
58
- const props = _props as Readonly<BaseButtonProps>;
59
-
60
- const { handleClick, isLoading } = (() => {
61
- const _loading = ref<boolean>(false);
62
- const isLoading = computed(() => {
63
- return props.loading || _loading.value;
64
- });
65
- return {
66
- isLoading: isLoading,
67
- handleClick: (props.click
68
- ? async () => {
69
- _loading.value = true;
70
- try {
71
- await props.click?.();
72
- _loading.value = false;
73
- } catch (error) {
74
- console.warn(error);
75
- _loading.value = false;
76
- }
77
- }
78
- : undefined) as ((evt: MouseEvent) => any) | undefined
79
- };
80
- })();
81
- </script>
82
-
83
- <style lang="scss" scoped></style>
@@ -1,26 +0,0 @@
1
- /*
2
- * @Description:
3
- * @Date: 2022-06-30 22:57:42
4
- */
5
- import { Component, DefineComponent } from 'vue';
6
- import _BaseButton from './button.vue';
7
-
8
- export type BaseButtonProps = {
9
- click?: (...preload: Array<any>) => Promise<any> | void | any; // 自定义方法 , 用于事件同步执行
10
- loading?: boolean; // 是否为加载中状态
11
- loadingIcon?: string | Component; // 自定义加载中状态图标组件
12
- size?: 'large' | 'default' | 'small'; // 尺寸
13
- type?: 'primary' | 'success' | 'warning' | 'danger' | 'info' | 'text';
14
- plain?: boolean; // 是否为朴素按钮
15
- round?: boolean; // 是否为圆角按钮
16
- circle?: boolean; // 是否为圆形按钮
17
- disabled?: boolean; // 按钮是否为禁用状态
18
- autofocus?: boolean; // 原生 autofocus 属性
19
- autoInsertSpace?: boolean; // 自动在两个中文字符之间插入空格
20
- nativeType?: 'button' | 'submit' | 'reset'; // 原生 type 属性
21
- icon?: string | Component; // 图标组件
22
-
23
- onClick?: Function;
24
- };
25
-
26
- export const BaseButton = _BaseButton as DefineComponent<BaseButtonProps>;
@@ -1,54 +0,0 @@
1
- <!--
2
- * @Description:
3
- * @Date: 2022-06-21 11:16:37
4
- -->
5
- <template>
6
- <el-checkbox-button
7
- :model-value="modelValue"
8
- :size="size"
9
- :name="name"
10
- :label="label"
11
- :disabled="disabled"
12
- :border="border"
13
- :true-label="trueLabel"
14
- :false-label="falseLabel"
15
- :checked="checked"
16
- @change="handleChange"
17
- >
18
- <slot></slot>
19
- </el-checkbox-button>
20
- </template>
21
-
22
- <script lang="tsx">
23
- export default {
24
- name: 'base-checkbox-button'
25
- };
26
- </script>
27
-
28
- <script lang="tsx" setup>
29
- import { ElCheckboxButton } from 'element-plus';
30
-
31
- defineProps<{
32
- modelValue?: string | number | boolean; // 选中项绑定值
33
- size?: 'large' | 'default' | 'small'; // Checkbox 的尺寸
34
- name?: string; // 原生 name 属性
35
- label?: string | number | boolean; // 选中状态的值(只有在checkbox-group或者绑定对象类型为array时有效)
36
- disabled?: boolean; // 是否禁用
37
- border?: boolean; // 是否显示边框
38
- trueLabel?: string | number; // 选中时的值
39
- falseLabel?: string | number; // 没有选中时的值
40
- checked?: boolean; // 当前是否勾选
41
- }>();
42
-
43
- const emits = defineEmits<{
44
- (event: 'change', activeValue: any): void;
45
- (event: 'update:modelValue', activeValue: any): void;
46
- }>();
47
-
48
- const handleChange = (activeValue: any) => {
49
- emits('update:modelValue', activeValue);
50
- emits('change', activeValue);
51
- };
52
- </script>
53
-
54
- <style lang="scss" scoped></style>
@@ -1,85 +0,0 @@
1
- <!--
2
- * @Description:
3
- * @Date: 2022-06-21 11:16:37
4
- -->
5
- <template>
6
- <el-checkbox-group
7
- class="base-checkbox-group"
8
- :model-value="modelValue"
9
- :size="size"
10
- :disabled="disabled"
11
- :text-color="textColor"
12
- :fill="fill"
13
- :label="label"
14
- :min="min"
15
- :max="max"
16
- @change="handleChange"
17
- >
18
- <div style="display: inline-block" v-loading="_loading">
19
- <slot></slot>
20
- </div>
21
- </el-checkbox-group>
22
- </template>
23
-
24
- <script lang="tsx">
25
- export default {
26
- name: 'base-checkbox-group'
27
- };
28
- </script>
29
-
30
- <script lang="tsx" setup>
31
- import { ref } from 'vue';
32
- import { ElCheckboxGroup, vLoading as _vLoading } from 'element-plus';
33
- import { isFunction } from '../../../tools/check';
34
-
35
- const vLoading = _vLoading;
36
- const props = defineProps<{
37
- modelValue?: Array<any>; // 绑定值
38
- size?: 'large' | 'default' | 'small'; // 多选框组尺寸
39
- disabled?: boolean; // 是否禁用
40
- textColor?: string; // 当按钮为活跃状态时的字体颜色
41
- fill?: string; // 当按钮为活跃状态时的边框和背景颜色
42
- label?: string; // 为屏幕阅读器准备的标签
43
- min?: number; // 可被勾选的 checkbox 的最小数量
44
- max?: number; // 可被勾选的 checkbox 的最大数量
45
-
46
- checkBefore?: (activeValue: any, done: Function) => void;
47
- }>();
48
-
49
- const emits = defineEmits<{
50
- (event: 'change', activeValue: any): void;
51
- (event: 'update:modelValue', activeValue: any): void;
52
- }>();
53
-
54
- const _loading = ref(false);
55
-
56
- const handleChange = async (activeValue: any) => {
57
- if (_loading.value) return;
58
- _loading.value = true;
59
- try {
60
- if (
61
- (props.modelValue?.length || 0) < activeValue?.length &&
62
- isFunction(props.checkBefore)
63
- ) {
64
- await props.checkBefore(activeValue, () => {
65
- emits('update:modelValue', activeValue);
66
- emits('change', activeValue);
67
- });
68
- } else {
69
- emits('update:modelValue', activeValue);
70
- emits('change', activeValue);
71
- }
72
- } catch (error) {}
73
- _loading.value = false;
74
- };
75
- </script>
76
-
77
- <style lang="scss" scoped>
78
- .base-checkbox-group {
79
- ::v-deep {
80
- .xrk-loading-spinner .circular {
81
- width: 20px;
82
- }
83
- }
84
- }
85
- </style>
@@ -1,85 +0,0 @@
1
- <!--
2
- * @Description:
3
- * @Date: 2022-06-21 11:16:37
4
- -->
5
- <template>
6
- <el-checkbox
7
- class="base-checkbox"
8
- :model-value="modelValue"
9
- :size="size"
10
- :name="name"
11
- :label="label"
12
- :disabled="disabled"
13
- :border="border"
14
- :true-label="trueLabel"
15
- :false-label="falseLabel"
16
- :checked="checked"
17
- :indeterminate="indeterminate"
18
- v-loading="_loading"
19
- @change="handleChange"
20
- >
21
- <slot></slot>
22
- </el-checkbox>
23
- </template>
24
-
25
- <script lang="tsx">
26
- export default {
27
- name: 'base-checkbox'
28
- };
29
- </script>
30
-
31
- <script lang="tsx" setup>
32
- import { ref } from 'vue';
33
- import { ElCheckbox, vLoading as _vLoading } from 'element-plus';
34
- import { isFunction } from '../../../tools/check';
35
-
36
- const vLoading = _vLoading;
37
- const props = defineProps<{
38
- modelValue?: string | number | boolean; // 选中项绑定值
39
- size?: 'large' | 'default' | 'small'; // Checkbox 的尺寸
40
- name?: string; // 原生 name 属性
41
- label?: string | number | boolean; // 选中状态的值(只有在checkbox-group或者绑定对象类型为array时有效)
42
- disabled?: boolean; // 是否禁用
43
- border?: boolean; // 是否显示边框
44
- trueLabel?: string | number; // 选中时的值
45
- falseLabel?: string | number; // 没有选中时的值
46
- checked?: boolean; // 当前是否勾选
47
- indeterminate?: boolean; // 设置 indeterminate 状态,只负责样式控制
48
-
49
- checkBefore?: (activeValue: any, done: Function) => void;
50
- }>();
51
-
52
- const emits = defineEmits<{
53
- (event: 'change', activeValue: any): void;
54
- (event: 'update:modelValue', activeValue: any): void;
55
- }>();
56
-
57
- const _loading = ref(false);
58
-
59
- const handleChange = async (activeValue: any) => {
60
- if (_loading.value) return;
61
- _loading.value = true;
62
- try {
63
- if (activeValue && isFunction(props.checkBefore)) {
64
- await props.checkBefore(activeValue, () => {
65
- emits('update:modelValue', activeValue);
66
- emits('change', activeValue);
67
- });
68
- } else {
69
- emits('update:modelValue', activeValue);
70
- emits('change', activeValue);
71
- }
72
- } catch (error) {}
73
- _loading.value = false;
74
- };
75
- </script>
76
-
77
- <style lang="scss" scoped>
78
- .base-checkbox {
79
- ::v-deep {
80
- .xrk-loading-spinner .circular {
81
- width: 20px;
82
- }
83
- }
84
- }
85
- </style>
@@ -1,62 +0,0 @@
1
- /*
2
- * @Description:
3
- * @Date: 2022-07-01 10:29:26
4
- */
5
- import { DefineComponent } from 'vue';
6
- import _BaseCheckboxButton from './checkbox-button.vue';
7
- import _BaseCheckboxGroup from './checkbox-group.vue';
8
- import _BaseCheckbox from './checkbox.vue';
9
-
10
- export type BaseCheckboxButtonProps = {
11
- modelValue?: string | number | boolean; // 选中项绑定值
12
- size?: 'large' | 'default' | 'small'; // Checkbox 的尺寸
13
- name?: string; // 原生 name 属性
14
- label?: string | number | boolean; // 选中状态的值(只有在checkbox-group或者绑定对象类型为array时有效)
15
- disabled?: boolean; // 是否禁用
16
- border?: boolean; // 是否显示边框
17
- trueLabel?: string | number; // 选中时的值
18
- falseLabel?: string | number; // 没有选中时的值
19
- checked?: boolean; // 当前是否勾选
20
-
21
- onChange?: (activeValue: any) => void;
22
- onClick?: (payload?: MouseEvent) => void;
23
- };
24
-
25
- export type BaseCheckboxGroupProps = {
26
- modelValue?: Array<any>; // 绑定值
27
- size?: 'large' | 'default' | 'small'; // 多选框组尺寸
28
- disabled?: boolean; // 是否禁用
29
- textColor?: string; // 当按钮为活跃状态时的字体颜色
30
- fill?: string; // 当按钮为活跃状态时的边框和背景颜色
31
- label?: string; // 为屏幕阅读器准备的标签
32
- min?: number; // 可被勾选的 checkbox 的最小数量
33
- max?: number; // 可被勾选的 checkbox 的最大数量
34
- checkBefore?: (activeValue: any, done: Function) => void;
35
-
36
- onChange?: (activeValue: any) => void;
37
- };
38
-
39
- export type BaseCheckboxProps = {
40
- modelValue?: string | number | boolean; // 选中项绑定值
41
- size?: 'large' | 'default' | 'small'; // Checkbox 的尺寸
42
- name?: string; // 原生 name 属性
43
- label?: string | number | boolean; // 选中状态的值(只有在checkbox-group或者绑定对象类型为array时有效)
44
- disabled?: boolean; // 是否禁用
45
- border?: boolean; // 是否显示边框
46
- trueLabel?: string | number; // 选中时的值
47
- falseLabel?: string | number; // 没有选中时的值
48
- checked?: boolean; // 当前是否勾选
49
- indeterminate?: boolean; // 设置 indeterminate 状态,只负责样式控制
50
- checkBefore?: (activeValue: any, done: Function) => void;
51
-
52
- onChange?: (activeValue: any) => void;
53
- onClick?: (payload?: MouseEvent) => void;
54
- };
55
-
56
- export const BaseCheckboxButton =
57
- _BaseCheckboxButton as DefineComponent<BaseCheckboxButtonProps>;
58
-
59
- export const BaseCheckboxGroup =
60
- _BaseCheckboxGroup as DefineComponent<BaseCheckboxGroupProps>;
61
-
62
- export const BaseCheckbox = _BaseCheckbox as DefineComponent<BaseCheckboxProps>;