su-react-mobile-imgview
Version:
A image album for mobile preview, built with reactjs. esay to use and less config.
161 lines (128 loc) • 5.37 kB
Markdown
16.0.0。所以我克隆下来维护了一个最新版本,和继续解决相应的BUG。原项目地址[react-imageview](https://github.com/AlloyTeam/AlloyViewer)
* 各类手势快速响应
* 急速滑动翻页
* 支持双指缩放、旋转、双击放大
* 支持放大后局部拖拽、翻页
* 支持超长(纵向)拼接图查看
* 支持下载
* 图片懒加载、预加载
您可以下载代码在examples文件夹中找到例子或者[在线示例](https://careytoboo.github.io/react-mobile-imgview/examples/index.html)
`npm install react-mobile-imgview --save`
```
// 例 1:
import React, { Component } from 'react'
import ImageView from 'react-mobile-imgview'
import 'react-mobile-imgview/dist/react-mobile-imgview.css'
class Main extends Component {
state = {
showViewer: false
}
render() {
const imagelist = ['./1.png','./2.png','./3.png','./4.png']
return (
<div>
{
!!this.state.showViewer && <ImageView imagelist={imagelist} close={this.close.bind(this)} />
}
<button onClick={e=>this.show()}>click me to show Alert</button>
</div>
)
}
show() {
this.setState({ showViewer: true })
}
close() {
this.setState({ showViewer: false})
}
}
// 例 2(推荐使用):
import { SingleImgView } from 'react-mobile-imgview'
import 'react-mobile-imgview/dist/react-mobile-imgview.css'
const imagelist = ['./1.png','./2.png','./3.png','./4.png']
// 仅创建一个ImageView实例
SingleImgView.show({
imagelist,
close: () => { SingleImgView.hide() }
});
```
| 参数 | 类型 | 描述 | 必需 | 默认值 |
| :------------- | :------------- | :------------- | :------------- | :------------- |
| imagelist | array | 要预览的图片列表 | 是 | 无 |
| current | number | 当前展示的图片序号(从0开始) | 否 | 0 |
| close | function | 图片查看器关闭方法 | 是 | |
| gap | number | 轮播图间距 | 否 | 30 |
| maxScale | number | 最大缩放倍数 | 否 | 2 |
| disablePinch | bool | 禁用缩小放大 | 否 | false |
| enableRotate | bool | 启用旋转 | 否(默认关闭) | false |
| disableDoubleTap | bool | 禁用双击放大 | 否 | false |
| initCallback | function | 初始化后回调 | 否 | |
| longTap | function | 长按回调 | 否 | |
| changeIndex | function | 轮播后回调 | 否 | |
Imageview react component for mobile preview built with react
You can download the code and find demo in folder which is named as examples or [demo online](https://careytoboo.github.io/react-mobile-imgview/examples/index.html)
`npm install react-mobile-imgview --save`
```
// Example 1:
import React, { Component } from 'react'
import ImageView from 'react-mobile-imgview'
import 'react-mobile-imgview/dist/react-mobile-imgview.min.css'
class Main extends Component {
state = {
showViewer: false
}
render() {
const imagelist = ['./1.png','./2.png','./3.png','./4.png']
return (
<div>
{
!!this.state.showViewer && <ImageView imagelist={imagelist} close={this.close.bind(this)} />
}
<button onClick={e=>this.show()}>click me to show Alert</button>
</div>
)
}
show() {
this.setState({ showViewer: true })
}
close() {
this.setState({ showViewer: false})
}
}
// Example 2(Recommended):
import { SingleImgView } from 'react-mobile-imgview'
import 'react-mobile-imgview/dist/react-mobile-imgview.min.css'
// You can call SingleImgView.show anywhere and anytime, there will be only one View DOM node be added.
const imagelist = ['./1.png','./2.png','./3.png','./4.png']
SingleImgView.show({
imagelist,
close: () => { SingleImgView.hide() }
});
```
| Param | Type | Description | Required |
| :------------- | :------------- | :------------- | :------------- |
| imagelist | array | The list of images to view | Yes |
| current | number | The current image to first view | No |
| close | function | The method to close the viewer | Yes |
| disablePinch | bool | Disable pinch function | No |
| disableRotate | bool | Disable rotate function | No |
| disableDoubleTap | bool | Disable double tap function | No |
| longTap | function | Events called after the long tap | No |
Copyright(c) 2016-2017 AlloyTeam. Licensed under MIT license.
使用React打造的H5图片查看器
* 由于原作者较长时间不维护该项目,导致该项目不能兼容react最新版本^