如何在图像输入、文件输入、ImageField 或 FileField 的预览中禁用清除按钮
How To Disable Clear Button In The Preview Of ImageInput, FileInput, ImageField, or FileField
我的创建表单中有 ImageInput 和 ImageField 供预览。
右上角的图片预览有清除按钮,如截图所示
有没有办法禁用这个按钮?或者处理点击事件?
React Admin 没有公开道具或删除该按钮的方法。
唯一的方法是创建自己的 ImageInput 并禁用它,例如在 CSS 中,例如:
// CustomImageInput.js
import compose from 'recompose/compose';
import { withStyles } from '@material-ui/core/styles';
import { addField, translate, FileInput } from 'react-admin';
const styles = {
root: { width: '100%' },
dropZone: {
background: '#efefef',
cursor: 'pointer',
padding: '1rem',
textAlign: 'center',
color: '#999',
},
preview: {},
removeButton: {
display: 'none',
},
};
export class ImageInput extends FileInput {
static defaultProps = {
...FileInput.defaultProps,
labelMultiple: 'ra.input.image.upload_several',
labelSingle: 'ra.input.image.upload_single',
};
}
export default compose(
addField,
translate,
withStyles(styles)
)(ImageInput);
如果您想发布 PR 来公开像 showDeleteButton
这样默认为 true 的道具,我们欢迎您。
我的创建表单中有 ImageInput 和 ImageField 供预览。
右上角的图片预览有清除按钮,如截图所示
有没有办法禁用这个按钮?或者处理点击事件?
React Admin 没有公开道具或删除该按钮的方法。
唯一的方法是创建自己的 ImageInput 并禁用它,例如在 CSS 中,例如:
// CustomImageInput.js
import compose from 'recompose/compose';
import { withStyles } from '@material-ui/core/styles';
import { addField, translate, FileInput } from 'react-admin';
const styles = {
root: { width: '100%' },
dropZone: {
background: '#efefef',
cursor: 'pointer',
padding: '1rem',
textAlign: 'center',
color: '#999',
},
preview: {},
removeButton: {
display: 'none',
},
};
export class ImageInput extends FileInput {
static defaultProps = {
...FileInput.defaultProps,
labelMultiple: 'ra.input.image.upload_several',
labelSingle: 'ra.input.image.upload_single',
};
}
export default compose(
addField,
translate,
withStyles(styles)
)(ImageInput);
如果您想发布 PR 来公开像 showDeleteButton
这样默认为 true 的道具,我们欢迎您。