отключить текстовое поле, когда ящик открывается, нажав кнопку - PullRequest
0 голосов
/ 17 января 2019

обновление 1: Я также удалил все ненужные файлы, можете ли вы, ребята, помочь мне https://codesandbox.io/s/0pk0z5prqn

  • Я пытаюсь набрать текстовое поле.
  • когда я нажимаю кнопку расширенного спортивного поиска, открывается ящик, в котором я пытаюсь отобразить текстовое поле.
  • метод toggleDrawer и
  • но проблема в том, что я не получаю состояние в файле sports-advanced-search.js, где я отключаю текстовое поле.
  • Я отладил, установив консоль, но все равно не помог мне 'console.log ("this.state --->", this.state);'
  • Можете ли вы сказать мне, как это исправить, чтобы в будущем я исправил это сам.
  • Предоставление моей песочницы и фрагмента кода ниже.

https://codesandbox.io/s/q8o66x572w

вкладка-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>

спорт продвинутого-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" : ""}
            />

1 Ответ

0 голосов
/ 17 января 2019

Вам не нужно передавать «отключено» как строку. HTML отключен атрибут является логическим. Итак, просто disabled={this.state.disabled} должно быть достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...