Слияние кода завершено, страница обновится автоматически
order | title | ||||
---|---|---|---|---|---|
3 |
|
用户可以上传图片并在列表中显示缩略图,可拖拽照片墙。当上传照片数到达限制后,上传按钮消失。
After users upload picture, the thumbnail will be shown in list. The upload button will disappear when count meets limitation.
import { Upload, Icon, Modal } from 'choerodon-ui';
class PicturesWall extends React.Component {
state = {
previewVisible: false,
previewImage: '',
previewTitle: '',
fileList: [{
uid: -1,
name: 'xxx.png',
status: 'done',
url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
},{
uid: -2,
name: 'xxx.png',
status: 'done',
url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
},{
uid: -3,
name: 'xxx.png',
status: 'done',
url: 'https://zos.alipayobjects.com/rmsportal/jkjgkEfvpUPVyRjUImniVslZfWPnJuuZ.png',
}, {
uid: -4,
name: 'test.jpg',
status: 'done',
url: 'https://s1.ax1x.com/2020/07/05/Up8j76.jpg',
}],
};
handleCancel = () => this.setState({ previewVisible: false })
handlePreview = (file) => {
this.setState({
previewImage: file.url || file.thumbUrl,
previewVisible: true,
previewTitle: file.name,
});
}
handleChange = ({ fileList }) => this.setState({ fileList })
render() {
const { previewVisible, previewImage, previewTitle, fileList } = this.state;
const uploadButton = (
<div>
<Icon type="add" />
<div className="c7n-upload-text">Upload</div>
</div>
);
return (
<div className="clearfix">
<Upload
action="https://www.mocky.io/v2/5cc8019d300000980a055e76"
listType="picture-card"
fileList={fileList}
onPreview={this.handlePreview}
onChange={this.handleChange}
dragUploadList
>
{fileList.length >= 8 ? null : uploadButton}
</Upload>
<Modal visible={previewVisible} title={previewTitle} footer={null} onCancel={this.handleCancel}>
<img alt="example" style={{ width: '100%' }} src={previewImage} className="modal-preview-image"/>
</Modal>
</div>
);
}
}
ReactDOM.render(<PicturesWall />, mountNode);
/* you can make up upload button and sample style by using stylesheets */
.c7n-upload-select-picture-card i {
font-size: 32px;
color: #999;
}
.c7n-upload-select-picture-card .c7n-upload-text {
margin-top: 8px;
color: #666;
}
.modal-preview-image {
margin-top: 8px;
}
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )