diff --git a/.eslintrc.js b/.eslintrc.js
index e67dacfe..ed4ad53d 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -8,7 +8,6 @@ module.exports = {
'default-case': 0,
'eslint-comments/disable-enable-pair': 0,
'jsx-a11y/interactive-supports-focus': 0,
- 'import/no-extraneous-dependencies': ['error', { devDependencies: true }],
'@typescript-eslint/no-object-literal-type-assertion': 0,
},
};
diff --git a/examples/disable.tsx b/examples/disable.tsx
index 920603b9..cb1a6903 100644
--- a/examples/disable.tsx
+++ b/examples/disable.tsx
@@ -1,4 +1,3 @@
-/* eslint-disable import/no-named-as-default-member */
import '../assets/index.less';
import React from 'react';
import TreeSelect from '../src';
@@ -76,11 +75,7 @@ class Demo extends React.Component {
return (
- this.switch(e.target.checked)}
- />{' '}
- 禁用
+ this.switch(e.target.checked)} /> 禁用
);
}
diff --git a/src/generate.tsx b/src/generate.tsx
index 341dbfe9..64d06c6c 100644
--- a/src/generate.tsx
+++ b/src/generate.tsx
@@ -325,7 +325,14 @@ export default function generate(config: {
];
}
return [newRawValues, valueHalfCheckedKeys];
- }, [value, mergedMultiple, mergedLabelInValue, treeCheckable, treeCheckStrictly]);
+ }, [
+ value,
+ flattedOptions,
+ mergedMultiple,
+ mergedLabelInValue,
+ treeCheckable,
+ treeCheckStrictly,
+ ]);
const selectValues = useSelectValues(rawValues, {
treeConduction,
diff --git a/tests/Select.checkable.spec.js b/tests/Select.checkable.spec.js
index 3f3a301a..23e2a31b 100644
--- a/tests/Select.checkable.spec.js
+++ b/tests/Select.checkable.spec.js
@@ -712,4 +712,45 @@ describe('TreeSelect.checkable', () => {
expect(wrapper.exists('.rc-tree-select-tree-treenode-checkbox-checked')).toBeTruthy();
});
+
+ // https://github.com/ant-design/ant-design/issues/32184
+ it('should pass correct keys', () => {
+ const wrapper = mount(
+ ,
+ );
+
+ expect(wrapper.find('Tree').prop('checkedKeys')).toEqual(
+ expect.objectContaining({ checked: ['parent'] }),
+ );
+
+ wrapper.setProps({
+ treeData: [
+ {
+ label: 'parent',
+ value: 'parent',
+ children: [
+ {
+ label: 'child',
+ value: 'child',
+ },
+ ],
+ },
+ ],
+ });
+
+ expect(wrapper.find('Tree').prop('checkedKeys')).toEqual(
+ expect.objectContaining({ checked: ['parent', 'child'] }),
+ );
+ });
});
diff --git a/tests/__mocks__/rc-motion/lib/CSSMotionList.js b/tests/__mocks__/rc-motion/lib/CSSMotionList.js
index 47360d6d..036d6e78 100644
--- a/tests/__mocks__/rc-motion/lib/CSSMotionList.js
+++ b/tests/__mocks__/rc-motion/lib/CSSMotionList.js
@@ -1,5 +1,3 @@
-/* eslint-disable import/no-extraneous-dependencies */
-
import React from 'react';
import { genCSSMotion } from 'rc-motion/lib/CSSMotion';
import CSSMotionList, { genCSSMotionList } from 'rc-motion/lib/CSSMotionList';