fix: type error

pull/6213/head^2
tangjinzhou 2023-01-27 16:29:47 +08:00
parent b5d7d582cd
commit 2d54e2124f
6 changed files with 34 additions and 34 deletions

View File

@ -37,7 +37,7 @@ export default defineComponent({
});
onMounted(() => {
warning(
props.checked !== undefined || checkboxGroup || props.value === undefined,
!!(props.checked !== undefined || checkboxGroup || props.value === undefined),
'Checkbox',
'`value` is not validate prop, do you mean `checked`?',
);

View File

@ -12,6 +12,7 @@ import { useLocaleReceiver } from '../locale-provider/LocaleReceiver';
import initDefaultProps from '../_util/props-util/initDefaultProps';
import type { Direction } from '../config-provider';
import type { VueNode } from '../_util/type';
import { objectType } from '../_util/type';
import { canUseDocElement } from '../_util/styleChecker';
import useConfigInject from '../config-provider/hooks/useConfigInject';
import { getTransitionName } from '../_util/transition';
@ -55,8 +56,8 @@ export const modalProps = () => ({
icon: PropTypes.any,
maskClosable: { type: Boolean, default: undefined },
forceRender: { type: Boolean, default: undefined },
okButtonProps: Object as PropType<ButtonPropsType>,
cancelButtonProps: Object as PropType<ButtonPropsType>,
okButtonProps: objectType<ButtonPropsType>(),
cancelButtonProps: objectType<ButtonPropsType>(),
destroyOnClose: { type: Boolean, default: undefined },
wrapClassName: String,
maskTransitionName: String,
@ -68,8 +69,8 @@ export const modalProps = () => ({
default: undefined,
},
zIndex: Number,
bodyStyle: { type: Object as PropType<CSSProperties>, default: undefined as CSSProperties },
maskStyle: { type: Object as PropType<CSSProperties>, default: undefined as CSSProperties },
bodyStyle: objectType<CSSProperties>(),
maskStyle: objectType<CSSProperties>(),
mask: { type: Boolean, default: undefined },
keyboard: { type: Boolean, default: undefined },
wrapProps: Object,

View File

@ -1,7 +1,7 @@
import type { ExtractPropTypes, PropType } from 'vue';
import PropTypes from '../_util/vue-types';
import type { SizeType } from '../config-provider';
import type { LiteralUnion, VueNode } from '../_util/type';
import type { VueNode } from '../_util/type';
import type {
ChangeEventHandler,
CompositionEventHandler,
@ -56,7 +56,6 @@ export const inputProps = () => ({
autocomplete: String,
type: {
type: String as PropType<
LiteralUnion<
| 'button'
| 'checkbox'
| 'color'
@ -78,9 +77,7 @@ export const inputProps = () => ({
| 'text'
| 'time'
| 'url'
| 'week',
string
>
| 'week'
>,
default: 'text',
},

View File

@ -1141,7 +1141,7 @@ export default defineComponent({
);
// It's better move to hooks but we just simply keep here
let draggableConfig: DraggableConfig;
let draggableConfig: DraggableConfig | false;
if (draggable) {
if (typeof draggable === 'object') {
draggableConfig = draggable;
@ -1152,6 +1152,8 @@ export default defineComponent({
} else {
draggableConfig = {};
}
} else {
draggableConfig = false;
}
return (
<TreeContext

View File

@ -293,7 +293,7 @@ export default defineComponent({
// ==================== Render: Drag Handler ====================
const renderDragHandler = () => {
const { draggable, prefixCls } = context.value;
return draggable?.icon ? (
return draggable && draggable?.icon ? (
<span class={`${prefixCls}-draggable-icon`}>{draggable.icon}</span>
) : null;
};

View File

@ -40,7 +40,7 @@ export interface TreeContextProps {
showIcon: boolean;
icon: IconType;
switcherIcon: IconType;
draggable: DraggableConfig;
draggable: DraggableConfig | false;
draggingNodeKey?: Key;
checkable: boolean;
customCheckable: () => any;