diff --git a/components/tooltip/Tooltip.tsx b/components/tooltip/Tooltip.tsx index 8c3079e46..f69063578 100644 --- a/components/tooltip/Tooltip.tsx +++ b/components/tooltip/Tooltip.tsx @@ -230,7 +230,7 @@ export default defineComponent({ const vcTooltipProps = { ...attrs, - ...props, + ...(props as TooltipProps), prefixCls: prefixCls.value, getTooltipContainer: getPopupContainer || getTargetContainer.value, builtinPlacements: tooltipPlacements.value, diff --git a/components/tooltip/__tests__/tooltip.test.js b/components/tooltip/__tests__/tooltip.test.js index f50f52b8f..90fd1ad27 100644 --- a/components/tooltip/__tests__/tooltip.test.js +++ b/components/tooltip/__tests__/tooltip.test.js @@ -16,11 +16,6 @@ describe('Tooltip', () => { mouseEnterDelay: 0, mouseLeaveDelay: 0, onVisibleChange, - // TODO test/util 的bug 没有使用 v-model 同样会改变 - 'onUpdate:visible': () => { - props.visible = this.visible; - this.$forceUpdate(); - }, }; if (this.visible !== undefined) { props.visible = this.visible; @@ -80,7 +75,7 @@ describe('Tooltip', () => { }); await asyncExpect(() => { expect(onVisibleChange).toHaveBeenLastCalledWith(true); - expect(wrapper.vm.$refs.tooltip.visible).toBe(true); + expect(wrapper.vm.$refs.tooltip.visible).toBe(false); }); await asyncExpect(() => { // always trigger onVisibleChange diff --git a/components/tree/Tree.tsx b/components/tree/Tree.tsx index 1615acdd7..5a70ab8d6 100644 --- a/components/tree/Tree.tsx +++ b/components/tree/Tree.tsx @@ -200,7 +200,7 @@ export default defineComponent({ fieldNames = props.replaceFields, motion = props.openAnimation, itemHeight = 28, - } = props; + } = props as TreeProps; const newProps = { ...attrs, ...props, diff --git a/components/vc-mentions/src/mentionsProps.ts b/components/vc-mentions/src/mentionsProps.ts index 0f4acc0fd..fb65093cb 100644 --- a/components/vc-mentions/src/mentionsProps.ts +++ b/components/vc-mentions/src/mentionsProps.ts @@ -47,7 +47,7 @@ export const defaultProps = { split: ' ', rows: 1, validateSearch: defaultValidateSearch, - filterOption: defaultFilterOption, + filterOption: (() => defaultFilterOption) as any, }; export default initDefaultProps(vcMentionsProps, defaultProps); diff --git a/components/vc-tooltip/src/Tooltip.tsx b/components/vc-tooltip/src/Tooltip.tsx index 3ec9d8c07..ad657cfd6 100644 --- a/components/vc-tooltip/src/Tooltip.tsx +++ b/components/vc-tooltip/src/Tooltip.tsx @@ -30,6 +30,8 @@ export default defineComponent({ builtinPlacements: PropTypes.object, overlayInnerStyle: PropTypes.style, popupVisible: PropTypes.looseBool, + onVisibleChange: PropTypes.func, + onPopupAlign: PropTypes.func, }, slots: ['arrowContent', 'overlay'], setup(props, { slots, attrs, expose }) { @@ -116,12 +118,12 @@ export default defineComponent({ mouseEnterDelay, ...extraProps, ...attrs, - onPopupVisibleChange: (attrs.onVisibleChange as any) || noop, - onPopupAlign: attrs.onPopupAlign || noop, + onPopupVisibleChange: props.onVisibleChange || noop, + onPopupAlign: props.onPopupAlign || noop, ref: triggerDOM, popup: getPopupElement(), }; - return {slots.default?.()}; + return ; }; }, }); diff --git a/tests/shared/focusTest.js b/tests/shared/focusTest.js index 5e32d0585..780d62bfd 100644 --- a/tests/shared/focusTest.js +++ b/tests/shared/focusTest.js @@ -29,7 +29,7 @@ export default function focusTest(Component) { expect(handleFocus).toBeCalled(); }); - fit('blur() and onBlur', async () => { + it('blur() and onBlur', async () => { const handleBlur = jest.fn(); const handleFocus = jest.fn(); const wrapper = mount(