该文档上的属性列表不包含onClick
(http://www.material-ui.com/#/components/icon-button)
我怎么知道我需要使用onClick作为点击处理程序?
该文档上的属性列表不包含onClick
(http://www.material-ui.com/#/components/icon-button)
我怎么知道我需要使用onClick作为点击处理程序?
refs
非常困难,因为您必须遍历15个属性才能找到它们组件,我一直在破坏组件封装。refs
对于第三方dom元素,建议使用此问题。请记住,这是3年前,因此可能已经发生了很多变化。
Answers:
Material-UI文档未列出标准React(本机浏览器)事件:
https://facebook.github.io/react/docs/events.html#mouse-events
这是因为期望您已经知道可用的本机事件。例如,您也可以使用onWheel
。如果包括所有本地事件,那将是一个冗长且多余的列表。
正如kouak解释的那样,其他道具(例如onClick
)被传递到相关的子组件。
随机示例:
<Button color="primary" onClick={() => { console.log('onClick'); }}>
Primary
</Button>
您可以在上添加包装器<IconButton/>
以获取onClick
事件。
例
render() {
return <div class="font-icon-wrapper" onClick={this.fontIconClick}>
<IconButton iconClassName="muidocs-icon-custom-github" />
</div>
}
这绝对应该工作...
只需添加onClick
到传递给的道具即可<IconButton />
。
在文档中未引用的道具将传递到其内部<EnhancedButton />
组件,该组件将onClick
很好地处理。
看到这里:https : //github.com/callemall/material-ui/blob/master/src/IconButton/IconButton.js#L241