Browse Source

fix: TreeSelect icon should work (#22437)

* fix tree-select icon

* rename test case

* update snapshot
pull/22435/head
二货机器人 5 years ago
committed by GitHub
parent
commit
fad514f28b
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 120
      components/tree-select/__tests__/__snapshots__/index.test.js.snap
  2. 10
      components/tree-select/__tests__/index.test.js
  3. 3
      components/tree-select/index.tsx

120
components/tree-select/__tests__/__snapshots__/index.test.js.snap

@ -1,5 +1,125 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`TreeSelect TreeSelect Custom Icons should \`treeIcon\` work 1`] = `
<div
class="ant-select ant-tree-select ant-select-single ant-select-show-arrow ant-select-open"
>
<div
class="ant-select-selector"
>
<span
class="ant-select-selection-search"
>
<input
aria-activedescendant="rc_select_TEST_OR_SSR_list_0"
aria-autocomplete="list"
aria-controls="rc_select_TEST_OR_SSR_list"
aria-expanded="true"
aria-haspopup="listbox"
aria-owns="rc_select_TEST_OR_SSR_list"
autocomplete="off"
class="ant-select-selection-search-input"
id="rc_select_TEST_OR_SSR"
readonly=""
role="combobox"
style="opacity: 0;"
value=""
/>
</span>
<span
class="ant-select-selection-placeholder"
/>
</div>
<div>
<div
class="ant-select-dropdown ant-tree-select-dropdown"
style="opacity: 0; width: 0px;"
>
<div>
<div>
<div
class="ant-select-tree"
>
<div
role="tree"
>
<input
disabled=""
style="width: 0px; height: 0px; display: flex; overflow: hidden; opacity: 0; border: 0px; padding: 0px; margin: 0px;"
value=""
/>
</div>
<div
class="ant-select-tree-list"
style="height: 256px;"
>
<div>
<div
class="ant-select-tree-list-holder-inner"
style="display: flex; flex-direction: column;"
>
<div
class="ant-select-tree-treenode ant-select-tree-treenode-switcher-close"
>
<span
class="ant-select-tree-switcher ant-select-tree-switcher-noop"
/>
<span
class="ant-select-tree-node-content-wrapper ant-select-tree-node-content-wrapper-normal"
title="parent 1"
>
<span
class="ant-select-tree-iconEle ant-select-tree-icon__customize"
>
<span>
Bamboo
</span>
</span>
<span
class="ant-select-tree-title"
>
parent 1
</span>
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<span
aria-hidden="true"
class="ant-select-arrow"
style="user-select: none;"
unselectable="on"
>
<span
aria-label="down"
class="anticon anticon-down"
role="img"
>
<svg
aria-hidden="true"
class=""
data-icon="down"
fill="currentColor"
focusable="false"
height="1em"
viewBox="64 64 896 896"
width="1em"
>
<path
d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"
/>
</svg>
</span>
</span>
</div>
`;
exports[`TreeSelect TreeSelect Custom Icons should support customized icons 1`] = `
<div
class="ant-select ant-tree-select ant-select-multiple ant-select-allow-clear ant-select-show-search"

10
components/tree-select/__tests__/index.test.js

@ -34,5 +34,15 @@ describe('TreeSelect', () => {
expect(wrapper.render()).toMatchSnapshot();
});
it('should `treeIcon` work', () => {
const wrapper = mount(
<TreeSelect treeIcon open>
<TreeNode value="parent 1" title="parent 1" icon={<span>Bamboo</span>} />
</TreeSelect>,
);
expect(wrapper.render()).toMatchSnapshot();
});
});
});

3
components/tree-select/index.tsx

@ -94,6 +94,7 @@ class TreeSelect<T> extends React.Component<TreeSelectProps<T>, {}> {
getPopupContainer,
dropdownClassName,
bordered,
treeIcon = false,
} = this.props;
const prefixCls = getPrefixCls('select', customizePrefixCls);
@ -173,7 +174,7 @@ class TreeSelect<T> extends React.Component<TreeSelectProps<T>, {}> {
switcherIcon={(nodeProps: AntTreeNodeProps) =>
renderSwitcherIcon(treePrefixCls, switcherIcon, treeLine, nodeProps)
}
showTreeIcon={false}
showTreeIcon={treeIcon}
notFoundContent={mergedNotFound}
getPopupContainer={getPopupContainer || getContextPopupContainer}
treeMotion={null}

Loading…
Cancel
Save