在 Material-UI 切换组件的文档中,它说:
http://www.material-ui.com/#/components/toggle
onToggle - Callback function that is fired when the toggle switch is toggled.
Signature:
function(event: object, isInputChecked: bool) => void
event: Change event targeting the toggle.
isInputChecked: The new value of the toggle.
现在,在我的代码中,组件如下所示:
<Toggle
label="Advanced search"
style={styles.toggle}
onToggle={() => this.useAdvancedSearch()}
toggled={this.state.useAdvanced}
/>
如果该方法只需要该事件,这将起作用。就像普通的HTML复选框一样。
这不起作用,因为该方法需要事件和布尔值作为参数。
我应该如何传递事件处理程序方法的事件和 isInputChecked 布尔值?
只需在事件处理程序中提取:
<Toggle
label="Advanced search"
style={styles.toggle}
onToggle={(event, isInputChecked) => this.useAdvancedSearch(event, isInputChecked)}
toggled={this.state.useAdvanced}
/>
例如,如果您只需要isInputChecked
:
onToggle={(_, isInputChecked) => this.useAdvancedSearch(isInputChecked)}
或者正如@trixn指出的那样:
onToggle={this.useAdvancedSearch}
然后处理useAdvancedSearch
中的参数
useAdvancedSearch(event, isInputChecked) {
...
}