javascript - 如果没有用户给定的值React如何提交defaultValue

标签 javascript html reactjs forms

因此,我的 React 应用程序中的表单中有此复选框,它将 defaultChecked 值设置为对象的“静态值”

<input type='checkbox' name='static' defaultChecked={obj.static}/>

现在,每当我提交表单时,它都不会从 defaultChecked 中读取,我必须更改它,以便它甚至可以从复选框中读取。

有什么办法可以解决这个问题吗?谢谢。

最佳答案

不建议使用defaultChecked。

我会尝试将该信息存储在如下状态:

https://codesandbox.io/s/holy-snow-l3u6b

const obj = {
  defaultValue: true
};

class Test extends React.Component {
  constructor() {
    super();
    this.state = {
      checked: obj.defaultValue
    };

    this.onStaticChangeHandler = e => {
      this.setState({
        checked: e.target.checked
      });
    };
  }

  render() {
    return (
      <input
        type="checkbox"
        name="static"
        onChange={this.onStaticChangeHandler}
        checked={this.state.checked}
      />
    );
  }
}

关于javascript - 如果没有用户给定的值React如何提交defaultValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60961383/

相关文章:

reactjs - Redux-Logic 和 Redux-thunk 之间的区别

reactjs - Azure 网站中的 React App 缓存问题,浏览器提供旧版本

javascript - 无法在 nextjs 中导入模块

javascript - 在动态显示的图像上设置下载属性

javascript - 单击按钮时避免浏览器自动完成表单功能

javascript - 似乎无法将列表 float 到 Bootstrap 4 行内的右侧

html - 中间元件流体高度

javascript - D3.js,加载数据成功后, View 中看不到任何数据

javascript - Openlayers 要素样式 zIndex

javascript - 如何在数据库中获取选项值