微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

react-dropzone 的 StyledDropzone 组件中的悬停效果

如何解决react-dropzone 的 StyledDropzone 组件中的悬停效果

我想在将鼠标悬停在 react-dropzone (https://react-dropzone.js.org/) 的 StyledDropzone 组件的拖放区域上时设置不透明度变化。我试过包括

opacity: 0.75,'&:hover': {
   opacity: 1.0,},

在此处提到的 baseStyle 对象中 (MaterialUI Custom Hover Style) 但它不起作用。我直接使用 react-dropzone,而不是 material-ui-dropzone。 StyledDropzone 组件的代码

import React,{useMemo} from 'react';
import {useDropzone} from 'react-dropzone';

const baseStyle = {
  flex: 1,display: 'flex',flexDirection: 'column',alignItems: 'center',padding: '20px',borderWidth: 2,borderRadius: 2,borderColor: '#eeeeee',borderStyle: 'dashed',backgroundColor: '#fafafa',color: '#bdbdbd',outline: 'none',transition: 'border .24s ease-in-out'
};

const activeStyle = {
  borderColor: '#2196f3'
};

const acceptStyle = {
  borderColor: '#00e676'
};

const rejectStyle = {
  borderColor: '#ff1744'
};

function StyledDropzone(props) {
  const {
    getRootProps,getInputProps,isDragActive,isDragAccept,isDragReject
  } = useDropzone({accept: 'image/*'});

  const style = useMemo(() => ({
    ...baseStyle,...(isDragActive ? activeStyle : {}),...(isDragAccept ? acceptStyle : {}),...(isDragReject ? rejectStyle : {})
  }),[
    isDragActive,isDragReject,isDragAccept
  ]);

  return (
    <div className="container">
      <div {...getRootProps({style})}>
        <input {...getInputProps()} />
        <p>Drag 'n' drop some files here,or click to select files</p>
      </div>
    </div>
  );
}

<StyledDropzone />

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。