2016-03-28 46 views
4

我想知道如何打开目录以使用IconButton上传文件?reactJS材质UI图标按钮上传文件

<IconButton 
    iconClassName="fa fa-plus-square" 
    onClick={(e) => e.stopPropagation()} 
    type='file' 
/> 

使用下面的代码显示了上传文件的图标按钮和其他按钮

<IconButton iconClassName="fa fa-plus-square" onClick={(e) => e.stopPropagation()}> 
    <input type="file type='file'> 
</IconButton> 

回答

5

有几件事情:

  1. 你不需要在IconButton type='file',只是在输入

  2. IconButton不指望它的孩子是任何不是SVGIcon其他的事情,所以我建议你使用一个普通按钮

  3. 我不会称之为stopPropagation在这种情况下

  4. 您的道具类型为输入一个错字。你有type="file type='file'。它应该只是type="file"

因此,把所有在一起:

<FlatButton label="Choose file" labelPosition="before"> 
    <input type="file" style={styles.exampleImageInput} /> 
</FlatButton> 

如果您仍然希望它是一个图标,而不是一个按钮,我怀疑你可以做一些事情<input>或加它作为FlatButton没有标签的孩子。

0

使用以下代码可以实现与IconButton相同的功能。

<IconButton onClick={() => this.fileUpload.click()}> 
    <FontIcon className="material-icons" > 
     add_a_photo 
    </FontIcon> 
    </IconButton> 
<input type="file" ref={(fileUpload) => { 
        this.fileUpload = fileUpload; 
        }} 
    style={{ visibility: 'hidden'}} onChange={this.groupImgUpload} />