我有一个组件,外观如下。
主要的问题出现在这里:
<div className={styles.colorPicker}>
<input
readOnly
type="text"
value={color}
onFocus={this.showColorPalette}
onBlur={this.hideColorPalette}
/>
<Palette
color={color}
onSelect={this.selectColor}
/>
</div>
预期的行为是,当它们模糊组件时,调色板应该隐藏。但是,如果他们在调色板上点击了什么东西,它就不应该隐藏调色板。
因为点击调色板会模糊输入,所以它会隐藏调色板。我找不到一种方法来协调调色板的onClick
方法和输入的onBlur
方法,因为其中一种方法覆盖另一种方法。
有没有办法在反应中做到这一点?
发布于 2016-10-05 05:06:48
只是尝试了使用onMouseEnter
和onMousLeave
来有条件地触发blur()
。这样,调色板就可以用于选择颜色,当颜色被选中或单击输入框外时,颜色将变得模糊。
检查更新笔
https://stackoverflow.com/questions/39858934
复制相似问题