Skip to content

Commit 5c9a512

Browse files
committed
feat: ranges support customize component
1 parent aa51ffe commit 5c9a512

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

src/RangePicker.tsx

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,7 @@ export interface RangePickerSharedProps<DateType> {
110110
/** @private Internal usage. Do not use in your production env */
111111
components?: {
112112
button: React.ComponentType;
113+
rangeItem: React.ComponentType;
113114
};
114115
}
115116

@@ -827,21 +828,23 @@ function InnerRangePicker<DateType>(props: RangePickerProps<DateType>) {
827828
const mergedRanges = ranges || {};
828829
const rangeList = Object.keys(mergedRanges);
829830
const Button = (components && components.button) || 'button';
831+
const RangeItem = (components && components.rangeItem) || 'span';
830832

831833
rangesNode = (
832834
<ul className={`${prefixCls}-ranges`}>
833835
{rangeList.map(label => {
834836
const range = mergedRanges[label];
835837

836838
return (
837-
<li
838-
key={label}
839-
onClick={() => {
840-
const newValues = Array.isArray(range) ? range : range();
841-
triggerChange(newValues);
842-
}}
843-
>
844-
{label}
839+
<li key={label}>
840+
<RangeItem
841+
onClick={() => {
842+
const newValues = Array.isArray(range) ? range : range();
843+
triggerChange(newValues);
844+
}}
845+
>
846+
{label}
847+
</RangeItem>
845848
</li>
846849
);
847850
})}

tests/range.spec.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ describe('Picker.Range', () => {
280280
let testNode;
281281

282282
// Basic
283-
testNode = wrapper.find('.rc-picker-ranges li').first();
283+
testNode = wrapper.find('.rc-picker-ranges li span').first();
284284
expect(testNode.text()).toEqual('test');
285285
testNode.simulate('click');
286286
expect(onChange).toHaveBeenCalledWith(
@@ -289,7 +289,7 @@ describe('Picker.Range', () => {
289289
);
290290

291291
// Function
292-
testNode = wrapper.find('.rc-picker-ranges li').last();
292+
testNode = wrapper.find('.rc-picker-ranges li span').last();
293293
expect(testNode.text()).toEqual('func');
294294
testNode.simulate('click');
295295
expect(onChange).toHaveBeenCalledWith(

0 commit comments

Comments
 (0)