javascript - ReactJS + Redux : How to use Material-UI's RaisedButton as <input/>?

标签 javascript html reactjs redux

我想使用 Material-UI 的 RaishedButton ( http://www.material-ui.com/#/components/raised-button ) 作为 <input/>所以我尝试了以下方法:

      <RaisedButton
        containerElement={<input type="file" onChange={this._handleImageChange}/>}
        label="Upload Image"
        labelColor='#88898C'
        labelStyle={{textTransform:'intial'}}
        backgroundColor='#1C1C1F'
      />

但我收到错误 Invariant Violation: input is a void element tag and must not have "children" or use "props.dangerouslySetInnerHTML". Check the render method .

有办法吗?我希望 RaisingButton 的行为类似于 <input type="file" onChange={this._handleImageChange}/>

提前谢谢您!

最佳答案

“containerElement”的值将是包含按钮的元素(换句话说,按钮的父元素或包装元素)。 HTML 输入不允许包含任何其他元素,因此会出现错误。

将您的输入作为按钮的子按钮:

<RaisedButton label="Upload Image"
              labelColor='#88898C'
              labelStyle={{textTransform:'intial'}}
              backgroundColor='#1C1C1F'>
  <input type="file" onChange={this._handleImageChange}/>
</RaisedButton>

关于javascript - ReactJS + Redux : How to use Material-UI's RaisedButton as &lt;input/>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38668297/

相关文章:

c# - 如何将输入值传递给 JavaScript 函数?

reactjs - Firestore 安全规则如何检查文档是否由用户创建(是所有者)

javascript - React 在添加标签时无法删除重复项

javascript - 在 Angular 4 的表单中按下按钮时,如何将表单状态更改为脏状态?

javascript - mongodb findone返回值-数组操作

javascript - 为什么 javascript 文件加载两次 console.log 和 alert 并且 jquery "click"运行两次

javascript - 分别用 jQuery 打断一行 [Bootstrap | JSON]

html - 如果父div中没有​​足够的空间,如何将两个div水平放置

php - 在 PHP 中访问 HTML 无序列表元素

javascript - Redux 中的订阅 Redux 中订阅的奇怪行为