javascript - 通过单击按钮打开抽屉时禁用文本框

标签 javascript html reactjs redux material-ui

更新1:我进一步删除了所有不必要的文件,你们能帮帮我吗https://codesandbox.io/s/0pk0z5prqn

  • 我正在尝试禁用文本框。
  • 当我点击高级体育搜索按钮时,会打开一个抽屉,其中我试图显示一个文本框。
  • toggleDrawer 方法和
  • 但问题是我没有在 sports-advanced-search.js 文件中获取状态,这就是我禁用文本框的地方。
  • 我通过放置控制台进行了调试,但仍然没有帮助我 'console.log("this.state--->", this.state);'
  • 你能告诉我如何修复它吗,以便将来我自己修复它。
  • 在下面提供我的沙箱和代码片段。

https://codesandbox.io/s/q8o66x572w

tab-demo.js

constructor(props) {
    super(props);
    this.state = {
      value: 0,
      top: false,
      left: false,
      bottom: false,
      right: false,
      disabled: false
    };
  }
  toggleDrawer = (side, open) => () => {
    this.setState({
      [side]: open
    });
    this.setState({ disabled: !this.state.disabled });
  };



   <Button onClick={this.toggleDrawer("right", true)}>
                  Advanced Sports Search
                </Button>

sports-advanced-search.js

 render() {
    const { classes } = this.props;
    const { value } = this.state;
    console.log("this.state--->", this.state);

                <input
              name="firstname"
              type="text"
              disabled={this.state.disabled ? "disabled" : ""}
            />

最佳答案

您不需要将“disabled”作为字符串传递。 HTML 禁用属性是 bool 值。因此,只需 disabled={this.state.disabled} 就足够了。

关于javascript - 通过单击按钮打开抽屉时禁用文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54227395/

相关文章:

JavaScript - 如何知道网页是第一次加载还是刷新后加载?

javascript - CSS保持背景视频居中

reactjs - 我想在响应中创建一个音乐列表。如何创建它?

javascript - 渲染多个输入 React

javascript - 有没有办法在一个页面上加载多个谷歌翻译小部件

javascript - 通过 xml-rpc 和 javascript 将文件上传到 WordPress

html - Magento、图标包、CName 记录和 Cloudflare

javascript - 如何在 LIVE-SERVER 上使用 Javascript 查找当前 html 文件页面名称

html - 无法获取带边框的div

reactjs - 如何使用 Ionic、React、Yup 和 Resolvers 解决“.”上的 "termsOfUse must be a boolean type, but the final value was: "