繁体   English   中英

如何在 React 的数据预览中显示复选框布尔值?

[英]How to display a checkbox boolean value in a data preview in React?

我正在尝试在 React 中设置一个复选框,以便它在数据预览框中显示一个布尔值( true / falsechecked / unchecked )。 我还不能让它工作。

我想我的onChange事件不正确( handleOnChangeAgreementCheckbox )。 我该如何解决?

代码沙盒上的演示

代码

          <Input
            name="eligibleAge"
            type="checkbox"
            label="I agree"
            checked={this.state.active}
            value={this.state.checked}
            onChange={(e) => {
              this.handleOnChangeAgreementCheckbox({
                target: {
                  name: e.target.name,
                  value: e.target.checked,
                },
              });
            }}
          />

数据预览中的期望输出:

    "eligibleAge": true

或者

    "eligibleAge": "checked"

(谢谢!我是 React 框架的新手。)

看起来您的复选框可能使用了错误的组件。 尝试这个:

改变这一行:

import { Input, Button } from "react-advanced-form-addons";

到:

import { Input, Button, Checkbox } from "react-advanced-form-addons";

然后从此更改您的复选框渲染代码:

<Input
  name="eligibleAge"
  type="checkbox"
  label="I agree"
  checked={this.state.active}
  value={this.state.checked}
  onClick={() => this.handleOnChangeAgreementCheckbox()}
/>

对此:

<Checkbox
  name="eligibleAge"
  label="I agree"
  checked={this.state.eligible}
/>

我将使用您的输入作为示例:

            name="eligibleAge"
            type="checkbox"
            label="I agree"
            checked={this.state.active}
            value={this.state.checked}
            onClick={() => this.handleOnChangeAgreementCheckbox()}
          />

handleOnChangeAgreementCheckbox 函数:

handleOnChangeAgreementCheckbox = (e) => {
 this.setState({
  eligibleAge: e.target.value
 })
}

你可以使用this.state.eligibleAge来判断真/假

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM