From dfbf4f79464147fec314aefd3c785c8301932257 Mon Sep 17 00:00:00 2001 From: Alexander Fedyashov Date: Thu, 1 Jun 2017 11:10:15 +0300 Subject: [PATCH] fix(Dropdown): fix key handling --- src/modules/Dropdown/Dropdown.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/modules/Dropdown/Dropdown.js b/src/modules/Dropdown/Dropdown.js index 5e4fd12e98..2d79dcba01 100644 --- a/src/modules/Dropdown/Dropdown.js +++ b/src/modules/Dropdown/Dropdown.js @@ -25,6 +25,8 @@ import DropdownMenu from './DropdownMenu' const debug = makeDebugger('dropdown') +const getKeyOrValue = (key, value) => _.isNil(key) ? value : key + /** * A dropdown allows a user to select a value from a series of options. * @see Form @@ -1071,7 +1073,7 @@ export default class Dropdown extends Component { ) @@ -1136,7 +1138,7 @@ export default class Dropdown extends Component { const defaultProps = { active: item.value === selectedLabel, as: 'a', - key: item.key || item.value, + key: getKeyOrValue(item.key, item.value), onClick: this.handleLabelClick, onRemove: this.handleLabelRemove, value: item.value, @@ -1167,6 +1169,7 @@ export default class Dropdown extends Component { onClick: this.handleItemClick, selected: selectedIndex === i, ...opt, + key: getKeyOrValue(key, value), // Needed for handling click events on disabled items style: { ...opt.style, pointerEvents: 'all' }, }))