React-文件上传器

时间:2019-02-19 04:08:41

标签: javascript reactjs fine-uploader

所以我一直在使用这个https://github.com/FineUploader/react-fine-uploader。有没有一种方法可以将cursor: pointer添加到FileInput元素的样式。

我尝试过的是:

     <FileInput
        uploader={this.uploader}
        className={{ cursor: 'pointer' }}
        style={{ cursor: 'pointer' }}
      >
        <span>{this.props.children}</span>
      </FileInput>

然后生成:

<input type="file" class="react-fine-uploader-file-input" style="bottom: 0px; height: 100%; left: 0px; margin: 0px; opacity: 0; padding: 0px; position: absolute; right: 0px; top: 0px; width: 100%;">

没有cursor: pointer属性

2 个答案:

答案 0 :(得分:0)

您的span元素的传递样式。 使用正确的类名称,并且不要将样式直接传递到className中。

     <FileInput uploader={this.uploader} >
        <span style={{cursor : 'pointer'}}>{this.props.children}</span>
     </FileInput>

答案 1 :(得分:0)

您可以使用CSS来实现。您需要创建一个CSS,并需要提供文件输入className="file-upload"

观看此有效的stackblitz演示。

CSS

.file-upload input[type='file'],::-webkit-file-upload-button {
  cursor: pointer;
}

FileInput组件

import React, { Component } from 'react';
import { render } from 'react-dom';
import './style.css';

import FileInput from 'react-fine-uploader/file-input'
import FineUploaderTraditional from 'fine-uploader-wrappers'

const uploader = new FineUploaderTraditional({
  options: {
    request: {
      endpoint: 'my/upload/endpoint'
    }
  }
})

const fileInput = (
  <FileInput multiple accept='image/*' uploader={uploader} className="file-upload">
    <span class="fa fa-upload file-label">Choose Files</span>
  </FileInput>
)

render(fileInput,document.getElementById('root'))