用Jsx放入Textarea按钮(反应)

时间:2017-06-04 06:40:02

标签: react-jsx jsx

从初级到专业的关于Jsx的Okey小问题并做出反应:

我有textarea,我想把内部按钮

    renderButton() {
    const { mod } = this.state
    return (
      <button className={classNames({
        [styles.button]: mod == 'default',
        [styles.fullScreenButton]: mod == 'fullscreen'
      })} onClick={this.fullScreen} >
      {this.renderIcon()}
      </button>
    )
  }

  render() {
    const { text, rows } = this.props
    const { mod } = this.state
    return (
      <div>
        <textarea rows={rows} value='text'
          className={classNames({
            [styles.textArea]: mod == 'default',
            [styles.fullScreen]: mod == 'fullscreen'
          })}>
        </textarea>
        {this.renderButton()}
      </div>
    )
  }
}

我怎么能这样做?

只是

<textarea> <button> </button> </textarea>

不工作 使用position:绝对可能是,但还有其他方法吗?

1 个答案:

答案 0 :(得分:1)

正如您所发现的那样,将HTML按钮设置为<textarea>的子项将无效。这不是React或JSX的限制,而是<textarea&gt;的限制。元件。如果您希望按钮被放置在<textarea>视觉内部,则需要使用CSS重新定位它。像这样:

div {
  position: relative;
}

textarea {
  width: 100%;
  height: 300px;
  margin: 0;
  padding: 0;
}

button {
  position: absolute;
  bottom: 15px;
  right: 10px;
}
<div>
  <textarea>
  </textarea>
  <button>Submit</button>
</div>