暂无描述

liumingyi_1 9ee30972ba 完善多指触控体验 5 年之前
example 9ee30972ba 完善多指触控体验 5 年之前
src 9ee30972ba 完善多指触控体验 5 年之前
.editorconfig d413fb3e3b init 7 年之前
.gitignore 1ea3975742 config 6 年之前
.npmignore 1ea3975742 config 6 年之前
.prettierrc dc11408721 init-photo 7 年之前
.travis.yml 9b61d4b1be upgrade 5 年之前
LICENSE d413fb3e3b init 7 年之前
README.md db707b733e 键盘事件支持 5 年之前
package.json 9ee30972ba 完善多指触控体验 5 年之前
rollup.config.js 2bd4f16f37 use-less 5 年之前
tsconfig.json 1ea3975742 config 6 年之前
tsconfig.test.json 1ea3975742 config 6 年之前
yarn.lock 9ee30972ba 完善多指触控体验 5 年之前

README.md

react-photo-view

一款基于 React 的图片预览组件

npm npm

Demo: https://minjieliu.github.io/react-photo-view

特性

  1. 支持基本手势:左右切换、下滑关闭、双击放大/缩小、双指控制、拖动平移、键盘控制、点击切换控件等
  2. 打开/关闭缩放动画
  3. 自适应图像适应
  4. 支持桌面端/移动端
  5. 轻量的体积
  6. 高度的扩展性
  7. 基于 typescript 友好的语法提示

开始使用

yarn add react-photo-view

基本:

import { PhotoProvider, PhotoConsumer } from 'react-photo-view';
import 'react-photo-view/dist/index.css';

function ImageView() {
  return (
    <PhotoProvider>
      {photoImages.map((item, index) => (
        <PhotoConsumer key={index} src={item} intro={item}>
          <img src={item} alt="" />
        </PhotoConsumer>
      ))}
    </PhotoProvider>
  );
}

API

PhotoProvider

名称 类型 必选 描述
children React.ReactNode
maskClosable boolean 背景可点击关闭,默认 true
photoClosable boolean 图片点击可关闭,默认 false
bannerVisible boolean 导航条 visible,默认 true
introVisible boolean 简介 visible,默认 true
overlayRender (overlayProps) => React.ReactNode 自定义渲染
className string className
maskClassName string 遮罩 className
viewClassName string 图片容器 className
imageClassName string 图片 className
loadingElement JSX.Element 自定义 loading
brokenElement JSX.Element 加载失败 Element

PhotoConsumer

名称 类型 必选 描述
src string 图片地址
intro React.ReactNode 图片介绍
children React.ReactElement

PhotoSlider

继承自 PhotoProvider。手动控制 react-photo-view 的展现与隐藏

名称 类型 必选 描述
images dataType[] 图片列表
index number 图片当前索引
visible boolean 可见
onClose (evt) => void 关闭事件
onIndexChange Function 索引改变回调