如何在 Material-UI 切换的事件处理程序上传递两个参数



在 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) {
  ...
}

最新更新