diff --git a/components/lib/dropdown/Dropdown.js b/components/lib/dropdown/Dropdown.js index 0c4617517f..a3fac5d67e 100644 --- a/components/lib/dropdown/Dropdown.js +++ b/components/lib/dropdown/Dropdown.js @@ -1100,7 +1100,8 @@ export const Dropdown = React.memo( return ; } - const content = props.valueTemplate ? ObjectUtils.getJSXElement(props.valueTemplate, selectedOption, props) : label || props.placeholder || props.emptyMessage || <> ; + const templateValue = selectedOption || props.value; + const content = props.valueTemplate ? ObjectUtils.getJSXElement(props.valueTemplate, templateValue, props) : label || props.placeholder || props.emptyMessage || <> ; const inputProps = mergeProps( { ref: inputRef, @@ -1121,7 +1122,7 @@ export const Dropdown = React.memo( }; const createClearIcon = () => { - if (props.value != null && props.showClear && !props.disabled && !ObjectUtils.isEmpty(props.options)) { + if (props.value != null && props.showClear && !props.disabled) { const clearIconProps = mergeProps( { className: cx('clearIcon'), diff --git a/components/lib/dropdown/DropdownBase.js b/components/lib/dropdown/DropdownBase.js index 41393498c4..ade07e4e86 100644 --- a/components/lib/dropdown/DropdownBase.js +++ b/components/lib/dropdown/DropdownBase.js @@ -18,7 +18,7 @@ const classes = { ? 'p-dropdown-label p-inputtext' : classNames('p-dropdown-label p-inputtext', { 'p-placeholder': label === null && props.placeholder, - 'p-dropdown-label-empty': label === null && !props.placeholder + 'p-dropdown-label-empty': label === null && !props.placeholder && !props.value }), trigger: 'p-dropdown-trigger', emptyMessage: 'p-dropdown-empty-message',