From c96417a79d330073fa075a32b6e7c0eb72ba92a9 Mon Sep 17 00:00:00 2001 From: Rahul Bansal Date: Thu, 13 Sep 2018 15:07:36 +0530 Subject: [PATCH 1/2] added display text --- src/components/dropdown/index.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/dropdown/index.js b/src/components/dropdown/index.js index b1e65a1f..3d2f0047 100644 --- a/src/components/dropdown/index.js +++ b/src/components/dropdown/index.js @@ -28,6 +28,7 @@ export default class Dropdown extends PureComponent { valueExtractor: ({ value } = {}, index) => value, labelExtractor: ({ label } = {}, index) => label, + displayTextExtractor: ({ label, displayText } = {}, index) => displayText || label, propsExtractor: () => null, absoluteRTLLayout: false, @@ -571,7 +572,7 @@ export default class Dropdown extends PureComponent { let { valueExtractor, - labelExtractor, + displayTextExtractor, propsExtractor, textColor, itemColor, @@ -603,13 +604,14 @@ export default class Dropdown extends PureComponent { }; let value = valueExtractor(item, index); - let label = labelExtractor(item, index); + let displayText = displayTextExtractor(item, index); + const isItemDisabled = item.disabled - let title = null == label? + let title = null == displayText? value: - label; + displayText; - let color = disabled? + let color = isItemDisabled? disabledItemColor: ~selected? index === selected? From b7eb2e17b3b65c2be1703d04abbeaf690ab39027 Mon Sep 17 00:00:00 2001 From: Rahul Bansal Date: Thu, 13 Sep 2018 15:54:30 +0530 Subject: [PATCH 2/2] disable selection handling --- src/components/dropdown/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/dropdown/index.js b/src/components/dropdown/index.js index 3d2f0047..2a3acd54 100644 --- a/src/components/dropdown/index.js +++ b/src/components/dropdown/index.js @@ -355,7 +355,8 @@ export default class Dropdown extends PureComponent { onChangeText(value, index, data); } - setTimeout(() => this.onClose(value), delay); + const isItemDisabled = data[index].disabled + setTimeout(() => this.onClose(!isItemDisabled ? value : undefined), delay); } onLayout(event) {