css - 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 />
解决方案
推荐阅读
- mysql - 更新付款状态的触发器
- c# - C# 运算符重载成员镜像
- r - 我的平衡面板数据显示为不平衡面板数据。我不能使用没有效果的“make.pbalanced()”和“is.pbalanced()”
- ruby-on-rails - ActiveModel 动态属性类型
- web-services - 中间件和Web服务的区别?
- amazon-web-services - 无法导入模块“lambda_function”:没有名为“_awscrt”的模块
- react-native - React Native 卡片样式
- xml - 在 Bash 中的同一标记内删除 XML 选项卡和换行符
- assembly - 将 int 值存储到数组中并在 mips 程序集中获取平均值
- angular - 默认情况下如何在下拉菜单中打开树选择