Fixed the toggle emoji dropdown bug (#29012)
parent
ff8937aa2c
commit
1467f1e1e1
|
@ -164,6 +164,7 @@ class EmojiPickerMenuImpl extends PureComponent {
|
|||
intl: PropTypes.object.isRequired,
|
||||
skinTone: PropTypes.number.isRequired,
|
||||
onSkinTone: PropTypes.func.isRequired,
|
||||
pickerButtonRef: PropTypes.func.isRequired
|
||||
};
|
||||
|
||||
static defaultProps = {
|
||||
|
@ -178,7 +179,7 @@ class EmojiPickerMenuImpl extends PureComponent {
|
|||
};
|
||||
|
||||
handleDocumentClick = e => {
|
||||
if (this.node && !this.node.contains(e.target)) {
|
||||
if (this.node && !this.node.contains(e.target) && !this.props.pickerButtonRef.contains(e.target)) {
|
||||
this.props.onClose();
|
||||
}
|
||||
};
|
||||
|
@ -233,6 +234,7 @@ class EmojiPickerMenuImpl extends PureComponent {
|
|||
emoji.native = emoji.colons;
|
||||
}
|
||||
if (!(event.ctrlKey || event.metaKey)) {
|
||||
|
||||
this.props.onClose();
|
||||
}
|
||||
this.props.onPick(emoji);
|
||||
|
@ -407,6 +409,7 @@ class EmojiPickerDropdown extends PureComponent {
|
|||
onSkinTone={onSkinTone}
|
||||
skinTone={skinTone}
|
||||
frequentlyUsedEmojis={frequentlyUsedEmojis}
|
||||
pickerButtonRef={this.target}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue