Skip to content

Commit cae8625

Browse files
authored
fix: don't hide when click on color picker (#3172)
1 parent d8f1729 commit cae8625

File tree

1 file changed

+10
-7
lines changed
  • packages/x6-react-components/src/color-picker

1 file changed

+10
-7
lines changed

packages/x6-react-components/src/color-picker/index.tsx

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,9 @@ export class ColorPicker extends React.Component<
3737

3838
onDocumentClick = (e: React.MouseEvent) => {
3939
const target = e.target as HTMLDivElement
40-
if (target === this.container || this.container.contains(target)) {
40+
const picker = this.container.querySelector('.sketch-picker')!
41+
42+
if (target === picker || picker.contains(target)) {
4143
return
4244
}
4345

@@ -59,12 +61,9 @@ export class ColorPicker extends React.Component<
5961
if (this.props.onChange) {
6062
this.props.onChange(value, event)
6163
}
62-
6364
this.setState({
64-
active: false,
6565
color: value.rgb,
6666
})
67-
this.unbindDocEvent()
6867
}
6968

7069
handleClick = (e: React.MouseEvent) => {
@@ -84,8 +83,10 @@ export class ColorPicker extends React.Component<
8483
}
8584
}
8685

87-
refContainer = (container: HTMLDivElement) => {
88-
this.container = container
86+
refContainer = (popoverRef: { getContainer: () => HTMLDivElement }) => {
87+
if (popoverRef) {
88+
this.container = popoverRef.getContainer()
89+
}
8990
}
9091

9192
renderPicker() {
@@ -123,10 +124,12 @@ export class ColorPicker extends React.Component<
123124
{...popoverProps}
124125
content={this.renderPicker()}
125126
overlayClassName={`${baseCls}-overlay`}
127+
destroyTooltipOnHide
128+
ref={this.refContainer}
129+
trigger={[]}
126130
>
127131
<div
128132
style={style}
129-
ref={this.refContainer}
130133
onClick={this.handleClick}
131134
className={classNames(baseCls, {
132135
[`${baseCls}-disabled`]: disabled,

0 commit comments

Comments
 (0)