@nutui/nutui-react-taro 1.4.7 → 1.4.8
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/CHANGELOG.md +44 -0
- package/dist/esm/Badge.js +2 -2
- package/dist/esm/Barrage.js +2 -2
- package/dist/esm/Calendar.js +3 -4
- package/dist/esm/CalendarItem.js +2 -3
- package/dist/esm/Cascader.js +4 -4
- package/dist/esm/Checkbox.js +2 -2
- package/dist/esm/CheckboxGroup.js +2 -2
- package/dist/esm/Col.js +3 -2
- package/dist/esm/Dialog.js +3 -2
- package/dist/esm/Ellipsis.js +2 -2
- package/dist/esm/InputNumber.js +2 -2
- package/dist/esm/Popover.js +2 -2
- package/dist/esm/Row.js +3 -2
- package/dist/esm/ShortPassword.js +2 -2
- package/dist/esm/Swipe.js +3 -2
- package/dist/esm/TabPane.js +2 -2
- package/dist/esm/Tabbar.js +2 -2
- package/dist/esm/Tabs.js +2 -2
- package/dist/esm/TextArea.js +2 -2
- package/dist/esm/Uploader.js +2 -2
- package/dist/esm/{badge.taro-11e2ec95.js → badge.taro-116b2521.js} +1 -0
- package/dist/esm/barrage.taro-5dbab093.js +94 -0
- package/dist/esm/calendar.taro-c95e6998.js +61 -0
- package/dist/esm/calendaritem.taro-86412398.js +761 -0
- package/dist/esm/{cascader.taro-e6610dd1.js → cascader.taro-e0fb7e63.js} +16 -22
- package/dist/esm/{checkbox.taro-04da7151.js → checkbox.taro-b76b1c82.js} +9 -6
- package/dist/esm/{col.taro-b61c7cba.js → col.taro-9e4c5cc0.js} +2 -1
- package/dist/esm/{dialog.taro-54df2e3f.js → dialog.taro-7608bd26.js} +7 -12
- package/dist/esm/{ellipsis.taro-aa39faf7.js → ellipsis.taro-5aa23940.js} +4 -3
- package/dist/esm/{inputnumber.taro-e909d932.js → inputnumber.taro-94c75663.js} +11 -21
- package/dist/esm/nutui-react.es.js +19 -19
- package/dist/esm/{popover.taro-fc7b9a73.js → popover.taro-f144cd02.js} +9 -7
- package/dist/esm/{row.taro-37a895de.js → row.taro-4e697aa2.js} +2 -1
- package/dist/esm/{shortpassword.taro-02ea4499.js → shortpassword.taro-53b7ee7b.js} +3 -2
- package/dist/esm/{swipe.taro-1eb95b21.js → swipe.taro-6532405d.js} +16 -24
- package/dist/esm/{tabbar.taro-08e48c43.js → tabbar.taro-17d898d9.js} +12 -7
- package/dist/esm/{tabpane.taro-91cd6cf4.js → tabpane.taro-9512e308.js} +3 -3
- package/dist/esm/{tabs.taro-5030ce68.js → tabs.taro-4629d66c.js} +5 -2
- package/dist/esm/{textarea.taro-42600f8c.js → textarea.taro-47addd05.js} +5 -1
- package/dist/esm/types/src/packages/calendar/calendar.taro.d.ts +22 -2
- package/dist/esm/types/src/packages/calendaritem/calendaritem.taro.d.ts +21 -3
- package/dist/esm/types/src/packages/cascader/cascader.d.ts +1 -0
- package/dist/esm/types/src/packages/cascader/cascader.taro.d.ts +1 -0
- package/dist/esm/types/src/packages/cascader/cascaderItem.d.ts +1 -0
- package/dist/esm/types/src/packages/cascader/cascaderItem.taro.d.ts +1 -0
- package/dist/esm/types/src/packages/checkbox/demo.d.ts +0 -1
- package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.d.ts +5 -0
- package/dist/esm/types/src/packages/checkboxgroup/checkboxgroup.taro.d.ts +5 -0
- package/dist/esm/types/src/packages/dialog/DialogWrap.d.ts +1 -1
- package/dist/esm/types/src/packages/dialog/DialogWrapper.taro.d.ts +11 -0
- package/dist/esm/types/src/packages/dialog/dialog.taro.d.ts +3 -2
- package/dist/esm/types/src/packages/dialog/index.taro.d.ts +2 -2
- package/dist/esm/types/src/packages/form/form.d.ts +3 -0
- package/dist/esm/types/src/packages/formitem/formitem.d.ts +2 -1
- package/dist/esm/types/src/packages/formitem/types.d.ts +1 -1
- package/dist/esm/types/src/packages/popover/popover.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/shortpassword/shortpassword.d.ts +1 -0
- package/dist/esm/types/src/packages/shortpassword/shortpassword.taro.d.ts +1 -0
- package/dist/esm/types/src/packages/switch/switch.d.ts +2 -1
- package/dist/esm/types/src/packages/tabbar/tabbar.d.ts +1 -1
- package/dist/esm/types/src/packages/tabbar/tabbar.taro.d.ts +1 -1
- package/dist/esm/types/src/packages/tabbar/use-props-value.d.ts +7 -0
- package/dist/esm/types/src/packages/tabpane/tabpane.taro.d.ts +0 -1
- package/dist/esm/types/src/packages/tabs/tabs.d.ts +1 -0
- package/dist/esm/types/src/packages/tabs/tabs.taro.d.ts +1 -0
- package/dist/esm/types/src/packages/uploader/uploader.taro.d.ts +1 -0
- package/dist/esm/{uploader.taro-b7b770e6.js → uploader.taro-c830b573.js} +3 -2
- package/dist/locales/base.js +1 -1
- package/dist/locales/en-US.js +1 -1
- package/dist/locales/id-ID.js +1 -1
- package/dist/locales/zh-CN.js +1 -1
- package/dist/locales/zh-TW.js +1 -1
- package/dist/locales/zh-UG.js +1 -1
- package/dist/nutui.react.es.js +690 -412
- package/dist/nutui.react.umd.js +689 -411
- package/dist/packages/badge/badge.scss +11 -5
- package/dist/packages/barrage/barrage.scss +3 -3
- package/dist/packages/button/button.scss +1 -0
- package/dist/packages/cascader/cascader.scss +19 -5
- package/dist/packages/checkboxgroup/checkboxgroup.scss +33 -0
- package/dist/packages/collapseitem/collapseitem.scss +41 -17
- package/dist/packages/form/form.scss +3 -0
- package/dist/packages/inputnumber/inputnumber.scss +18 -1
- package/dist/packages/popover/popover.scss +71 -46
- package/dist/packages/radiogroup/radiogroup.scss +9 -8
- package/dist/packages/step/step.scss +135 -98
- package/dist/packages/switch/switch.scss +1 -1
- package/dist/packages/tabs/tabs.scss +24 -2
- package/dist/packages/textarea/textarea.scss +7 -1
- package/dist/style.css +1 -1
- package/dist/style.es.js +1 -1
- package/dist/styles/variables.scss +155 -33
- package/dist/types/index.d.ts +57 -33
- package/package.json +1 -1
- package/dist/esm/barrage.taro-e4fe81ae.js +0 -73
- package/dist/esm/calendar.taro-02479e8b.js +0 -38
- package/dist/esm/calendaritem.taro-3cfd4186.js +0 -571
|
@@ -25,13 +25,14 @@ const defaultProps = {
|
|
|
25
25
|
animatedTime: 300,
|
|
26
26
|
titleGutter: 0,
|
|
27
27
|
size: 'normal',
|
|
28
|
+
leftAlign: false,
|
|
28
29
|
autoHeight: false,
|
|
29
30
|
};
|
|
30
31
|
const pxCheck = (value) => {
|
|
31
32
|
return Number.isNaN(Number(value)) ? String(value) : `${value}px`;
|
|
32
33
|
};
|
|
33
34
|
const Tabs = (props) => {
|
|
34
|
-
const { value, color, tabStyle, background, direction, type, titleScroll, ellipsis, animatedTime, titleGutter, size, titleNode, children, onClick, onChange, className, autoHeight, iconClassPrefix, iconFontClassName, ...rest } = {
|
|
35
|
+
const { value, color, tabStyle, background, direction, type, titleScroll, ellipsis, animatedTime, titleGutter, size, leftAlign, titleNode, children, onClick, onChange, className, autoHeight, iconClassPrefix, iconFontClassName, ...rest } = {
|
|
35
36
|
...defaultProps,
|
|
36
37
|
...props,
|
|
37
38
|
};
|
|
@@ -95,8 +96,10 @@ const Tabs = (props) => {
|
|
|
95
96
|
? titleNode()
|
|
96
97
|
: titles.current.map((item, index) => {
|
|
97
98
|
return (React__default.createElement("div", { style: titleStyle, onClick: (e) => tabChange(item), className: classNames({
|
|
98
|
-
active:
|
|
99
|
+
active: !item.disabled &&
|
|
100
|
+
String(item.paneKey) === String(value),
|
|
99
101
|
disabled: item.disabled,
|
|
102
|
+
'nut-tabs__titles-item-left-align': leftAlign,
|
|
100
103
|
}, `${b('')}__titles-item`), key: item.paneKey },
|
|
101
104
|
type === 'line' && (React__default.createElement("div", { className: `${b('')}__titles-item__line`, style: tabsActiveStyle })),
|
|
102
105
|
type === 'smile' && (React__default.createElement("div", { className: `${b('')}__titles-item__smile`, style: tabsActiveStyle },
|
|
@@ -26,6 +26,10 @@ const TextArea = (props) => {
|
|
|
26
26
|
SetInputValue(initValue);
|
|
27
27
|
}, [defaultValue]);
|
|
28
28
|
const textChange = (event) => {
|
|
29
|
+
if (disabled)
|
|
30
|
+
return;
|
|
31
|
+
if (readonly)
|
|
32
|
+
return;
|
|
29
33
|
const text = event.detail ? event.detail : event.target;
|
|
30
34
|
if (maxlength && [...text.value].length > Number(maxlength)) {
|
|
31
35
|
text.value = text.value.substring(0, Number(maxlength));
|
|
@@ -54,7 +58,7 @@ const TextArea = (props) => {
|
|
|
54
58
|
textAlign,
|
|
55
59
|
resize: `${autosize ? 'vertical' : 'none'}`,
|
|
56
60
|
...style,
|
|
57
|
-
},
|
|
61
|
+
}, readOnly: disabled || readonly, value: inputValue, onInput: (e) => {
|
|
58
62
|
textChange(e);
|
|
59
63
|
}, onChange: (e) => {
|
|
60
64
|
textChange(e);
|
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type CalendarRef = {
|
|
3
|
+
scrollToDate: (date: string) => void;
|
|
4
|
+
};
|
|
5
|
+
interface Day {
|
|
6
|
+
day: string | number;
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
2
9
|
export interface CalendarProps {
|
|
3
10
|
type?: string;
|
|
4
11
|
isAutoBackFill?: boolean;
|
|
@@ -8,7 +15,20 @@ export interface CalendarProps {
|
|
|
8
15
|
defaultValue?: string | string[];
|
|
9
16
|
startDate?: string;
|
|
10
17
|
endDate?: string;
|
|
18
|
+
showToday?: boolean;
|
|
19
|
+
startText?: string;
|
|
20
|
+
endText?: string;
|
|
21
|
+
confirmText?: string;
|
|
22
|
+
showTitle?: boolean;
|
|
23
|
+
showSubTitle?: boolean;
|
|
24
|
+
toDateAnimation?: boolean;
|
|
25
|
+
onBtn?: (() => string | JSX.Element) | undefined;
|
|
26
|
+
onDay?: ((date: Day) => string | JSX.Element) | undefined;
|
|
27
|
+
onTopInfo?: ((date: Day) => string | JSX.Element) | undefined;
|
|
28
|
+
onBottomInfo?: ((date: Day) => string | JSX.Element) | undefined;
|
|
11
29
|
onClose?: () => void;
|
|
12
30
|
onChoose?: (param: string) => void;
|
|
31
|
+
onSelected?: (data: string) => void;
|
|
13
32
|
}
|
|
14
|
-
export declare const Calendar:
|
|
33
|
+
export declare const Calendar: React.ForwardRefExoticComponent<Partial<CalendarProps> & Omit<React.HTMLAttributes<HTMLDivElement>, ""> & React.RefAttributes<CalendarRef>>;
|
|
34
|
+
export {};
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
|
+
type CalendarRef = {
|
|
3
|
+
scrollToDate: (date: string) => void;
|
|
4
|
+
};
|
|
2
5
|
type InputDate = string | string[];
|
|
6
|
+
interface Day {
|
|
7
|
+
day: string | number;
|
|
8
|
+
type: string;
|
|
9
|
+
}
|
|
3
10
|
export interface CalendarItemProps {
|
|
4
11
|
type?: string;
|
|
5
12
|
isAutoBackFill?: boolean;
|
|
@@ -9,9 +16,20 @@ export interface CalendarItemProps {
|
|
|
9
16
|
defaultValue: InputDate;
|
|
10
17
|
startDate?: InputDate;
|
|
11
18
|
endDate?: InputDate;
|
|
19
|
+
showToday?: boolean;
|
|
20
|
+
startText?: string;
|
|
21
|
+
endText?: string;
|
|
22
|
+
confirmText?: string;
|
|
23
|
+
showTitle?: boolean;
|
|
24
|
+
showSubTitle?: boolean;
|
|
25
|
+
toDateAnimation?: boolean;
|
|
26
|
+
onBtn?: (() => string | JSX.Element) | undefined;
|
|
27
|
+
onDay?: ((date: Day) => string | JSX.Element) | undefined;
|
|
28
|
+
onTopInfo?: ((date: Day) => string | JSX.Element) | undefined;
|
|
29
|
+
onBottomInfo?: ((date: Day) => string | JSX.Element) | undefined;
|
|
12
30
|
onChoose?: (data: any) => void;
|
|
13
31
|
onUpdate?: () => void;
|
|
14
|
-
|
|
32
|
+
onSelected?: (data: string) => void;
|
|
15
33
|
}
|
|
16
|
-
export declare const CalendarItem:
|
|
34
|
+
export declare const CalendarItem: React.ForwardRefExoticComponent<Partial<CalendarItemProps> & Omit<React.HTMLAttributes<HTMLDivElement>, ""> & React.RefAttributes<CalendarRef>>;
|
|
17
35
|
export {};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RadioGroupOptionType } from '@/packages/radiogroup/type';
|
|
3
|
+
type Position = 'left' | 'right';
|
|
4
|
+
type Direction = 'horizontal' | 'vertical';
|
|
3
5
|
export interface CheckboxGroupProps {
|
|
4
6
|
disabled: boolean;
|
|
5
7
|
checkedValue: string[];
|
|
6
8
|
max: number | undefined;
|
|
9
|
+
textPosition: Position;
|
|
10
|
+
direction: Direction;
|
|
7
11
|
onChange: (value: string[]) => void;
|
|
8
12
|
options: RadioGroupOptionType[];
|
|
9
13
|
}
|
|
10
14
|
export declare const CheckboxGroup: React.ForwardRefExoticComponent<Partial<CheckboxGroupProps> & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> & React.RefAttributes<unknown>>;
|
|
15
|
+
export {};
|
|
@@ -1,10 +1,15 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { RadioGroupOptionType } from '@/packages/radiogroup/type';
|
|
3
|
+
type Position = 'left' | 'right';
|
|
4
|
+
type Direction = 'horizontal' | 'vertical';
|
|
3
5
|
export interface CheckboxGroupProps {
|
|
4
6
|
disabled: boolean;
|
|
5
7
|
checkedValue: string[];
|
|
6
8
|
max: number | undefined;
|
|
9
|
+
textPosition: Position;
|
|
10
|
+
direction: Direction;
|
|
7
11
|
onChange: (value: string[]) => void;
|
|
8
12
|
options: RadioGroupOptionType[];
|
|
9
13
|
}
|
|
10
14
|
export declare const CheckboxGroup: React.ForwardRefExoticComponent<Partial<CheckboxGroupProps> & Omit<React.HTMLAttributes<HTMLDivElement>, "onChange"> & React.RefAttributes<unknown>>;
|
|
15
|
+
export {};
|
|
@@ -8,5 +8,5 @@ interface DialogWrapProps {
|
|
|
8
8
|
onClosed?: () => void;
|
|
9
9
|
onClickSelf?: () => void;
|
|
10
10
|
}
|
|
11
|
-
export declare const DialogWrap: FunctionComponent<Partial<DialogWrapProps> & HTMLAttributes<HTMLDivElement>>;
|
|
11
|
+
export declare const DialogWrap: FunctionComponent<Partial<DialogWrapProps> & Omit<HTMLAttributes<HTMLDivElement>, 'title'>>;
|
|
12
12
|
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FunctionComponent, ReactNode, HTMLAttributes } from 'react';
|
|
2
|
+
interface DialogWrapperProps {
|
|
3
|
+
visible?: boolean;
|
|
4
|
+
title?: ReactNode;
|
|
5
|
+
footer?: ReactNode;
|
|
6
|
+
lockScroll?: boolean;
|
|
7
|
+
onCancel?: () => void;
|
|
8
|
+
onClosed?: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const DialogWrapper: FunctionComponent<Partial<DialogWrapperProps> & Omit<HTMLAttributes<HTMLDivElement>, 'title'>>;
|
|
11
|
+
export {};
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BasicDialogProps } from './config';
|
|
2
3
|
export type DialogProps = BasicDialogProps;
|
|
3
|
-
export declare const
|
|
4
|
+
export declare const BaseDialog: React.ForwardRefExoticComponent<Partial<BasicDialogProps> & Omit<React.HTMLAttributes<HTMLDivElement>, "title"> & React.RefAttributes<unknown>>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export default
|
|
1
|
+
import { BaseDialog } from './dialog.taro';
|
|
2
|
+
export default BaseDialog;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import React, { FunctionComponent } from 'react';
|
|
2
|
+
import { useForm } from './useForm';
|
|
2
3
|
import { BasicComponent } from '@/utils/typings';
|
|
3
4
|
import { FormItem } from '../formitem/formitem';
|
|
4
5
|
import { BaseForm } from './types';
|
|
@@ -6,4 +7,6 @@ export interface FormProps extends BasicComponent, BaseForm {
|
|
|
6
7
|
}
|
|
7
8
|
export declare const Form: FunctionComponent<Partial<FormProps> & React.HTMLAttributes<HTMLFormElement>> & {
|
|
8
9
|
Item: typeof FormItem;
|
|
10
|
+
} & {
|
|
11
|
+
useForm: typeof useForm;
|
|
9
12
|
};
|
|
@@ -17,10 +17,11 @@ export declare class FormItem extends React.Component<FieldProps> {
|
|
|
17
17
|
static contextType: any;
|
|
18
18
|
context: React.ContextType<typeof FormItemContext>;
|
|
19
19
|
private cancelRegister;
|
|
20
|
+
private isInitialValue;
|
|
20
21
|
componentDidMount(): void;
|
|
21
22
|
componentWillUnmount(): void;
|
|
22
23
|
getControlled: (children: React.ReactElement) => {
|
|
23
|
-
|
|
24
|
+
defaultValue: any;
|
|
24
25
|
onChange: (event: React.ChangeEvent<HTMLInputElement> | number | string | string[]) => void;
|
|
25
26
|
};
|
|
26
27
|
onStoreChange: () => void;
|
|
@@ -29,7 +29,7 @@ export interface FormItemRuleWithoutValidator {
|
|
|
29
29
|
message?: string;
|
|
30
30
|
}
|
|
31
31
|
export interface FormItemRule extends FormItemRuleWithoutValidator {
|
|
32
|
-
validator?: (
|
|
32
|
+
validator?: (ruleCfg: FormItemRuleWithoutValidator, value: string) => boolean | string | Promise<boolean | string>;
|
|
33
33
|
}
|
|
34
34
|
export interface BaseFormField {
|
|
35
35
|
/**
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { CSSProperties, FunctionComponent } from 'react';
|
|
2
|
-
import { BasicComponent } from '@/utils/typings';
|
|
3
2
|
import { ITouchEvent } from '@tarojs/components';
|
|
3
|
+
import { BasicComponent } from '@/utils/typings';
|
|
4
4
|
export type PopoverTheme = 'light' | 'dark';
|
|
5
5
|
export type PopoverLocation = 'bottom' | 'top' | 'left' | 'right' | 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end' | 'left-start' | 'left-end' | 'right-start' | 'right-end';
|
|
6
6
|
export interface List {
|
|
@@ -12,6 +12,7 @@ export interface ShortPasswordProps extends BasicComponent {
|
|
|
12
12
|
length: string | number;
|
|
13
13
|
className: string;
|
|
14
14
|
style?: CSSProperties;
|
|
15
|
+
autoFocus?: boolean;
|
|
15
16
|
onChange: (value: string | number) => void;
|
|
16
17
|
onOk: (value: string | number) => void;
|
|
17
18
|
onCancel: () => void;
|
|
@@ -12,6 +12,7 @@ export interface ShortPasswordProps extends BasicComponent {
|
|
|
12
12
|
length: string | number;
|
|
13
13
|
className: string;
|
|
14
14
|
style?: CSSProperties;
|
|
15
|
+
autoFocus?: boolean;
|
|
15
16
|
onChange: (value: string | number) => void;
|
|
16
17
|
onOk: (value: string | number) => void;
|
|
17
18
|
onCancel: () => void;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { FunctionComponent } from 'react';
|
|
2
2
|
export interface TabbarProps {
|
|
3
3
|
visible: number | string;
|
|
4
|
+
activeVisible?: number | string;
|
|
4
5
|
bottom: boolean;
|
|
5
6
|
size: string | number;
|
|
6
7
|
unactiveColor: string;
|
|
@@ -8,7 +9,6 @@ export interface TabbarProps {
|
|
|
8
9
|
safeAreaInsetBottom: boolean;
|
|
9
10
|
className: string;
|
|
10
11
|
style: React.CSSProperties;
|
|
11
|
-
tabSwitch: (child: React.ReactElement<any>, active: number) => void;
|
|
12
12
|
onSwitch: (child: React.ReactElement<any>, active: number) => void;
|
|
13
13
|
children?: React.ReactNode;
|
|
14
14
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { FunctionComponent } from 'react';
|
|
2
2
|
export interface TabbarProps {
|
|
3
3
|
visible: number | string;
|
|
4
|
+
activeVisible?: number | string;
|
|
4
5
|
bottom: boolean;
|
|
5
6
|
size: string | number;
|
|
6
7
|
unactiveColor: string;
|
|
@@ -8,7 +9,6 @@ export interface TabbarProps {
|
|
|
8
9
|
safeAreaInsetBottom: boolean;
|
|
9
10
|
className: string;
|
|
10
11
|
style: React.CSSProperties;
|
|
11
|
-
tabSwitch: (child: React.ReactElement<any>, active: number) => void;
|
|
12
12
|
onSwitch: (child: React.ReactElement<any>, active: number) => void;
|
|
13
13
|
children?: React.ReactNode;
|
|
14
14
|
}
|
|
@@ -122,6 +122,7 @@ const defaultProps = {
|
|
|
122
122
|
name: 'file',
|
|
123
123
|
disabled: false,
|
|
124
124
|
autoUpload: true,
|
|
125
|
+
multiple: false,
|
|
125
126
|
maximize: Number.MAX_VALUE,
|
|
126
127
|
data: {},
|
|
127
128
|
headers: {},
|
|
@@ -148,7 +149,7 @@ class FileItem {
|
|
|
148
149
|
}
|
|
149
150
|
const InternalUploader = (props, ref) => {
|
|
150
151
|
const { locale } = useConfig();
|
|
151
|
-
const { children, uploadIcon, uploadIconSize, name, defaultFileList, listType, disabled, url, defaultImg, headers, timeout, method, xhrState, data, isPreview, isDeletable, maximum, maximize, className, autoUpload, sizeType, sourceType, onStart, onRemove, onChange, onFileItemClick, onProgress, onSuccess, onUpdate, onFailure, onOversize, onBeforeUpload, onBeforeXhrUpload, onBeforeDelete, ...restProps } = { ...defaultProps, ...props };
|
|
152
|
+
const { children, uploadIcon, uploadIconSize, name, defaultFileList, listType, disabled, url, defaultImg, headers, timeout, method, xhrState, data, isPreview, isDeletable, maximum, maximize, multiple, className, autoUpload, sizeType, sourceType, onStart, onRemove, onChange, onFileItemClick, onProgress, onSuccess, onUpdate, onFailure, onOversize, onBeforeUpload, onBeforeXhrUpload, onBeforeDelete, ...restProps } = { ...defaultProps, ...props };
|
|
152
153
|
const [fileList, setFileList] = useState([]);
|
|
153
154
|
const [uploadQueue, setUploadQueue] = useState([]);
|
|
154
155
|
useEffect(() => {
|
|
@@ -180,7 +181,7 @@ const InternalUploader = (props, ref) => {
|
|
|
180
181
|
}
|
|
181
182
|
chooseImage({
|
|
182
183
|
// 选择数量
|
|
183
|
-
count: maximum * 1 - fileList.length,
|
|
184
|
+
count: multiple ? maximum * 1 - fileList.length : 1,
|
|
184
185
|
// 可以指定是原图还是压缩图,默认二者都有
|
|
185
186
|
sizeType,
|
|
186
187
|
sourceType,
|
package/dist/locales/base.js
CHANGED
package/dist/locales/en-US.js
CHANGED
package/dist/locales/id-ID.js
CHANGED
package/dist/locales/zh-CN.js
CHANGED
package/dist/locales/zh-TW.js
CHANGED
package/dist/locales/zh-UG.js
CHANGED