概述
例如,Taro 实现的 H5,Taro对外的提供的预览图片没有放大功能,需要自己重新封装
封装 PreviewImage 组件
import { View } from '@tarojs/components';
import { useMemo } from 'react';
import { PhotoProvider, PhotoSlider } from 'react-photo-view';
import 'react-photo-view/dist/react-photo-view.css';
import './index.less';
interface IProps {
visible: boolean;
current: number;
urls: string[];
onClose: () => void;
onChange?: (arg: number) => void;
photoClosable?: boolean;
}
const PreviewImage: React.FC<IProps> = ({
visible,
current,
urls = [],
onClose,
onChange,
photoClosable = false,
...rest
}) => {
const urlsArr = useMemo(() => {
if (urls && !!urls.length) {
const _urls = urls.filter(v => v);
return _urls.map((item, index) => ({ src: item, key: index }));
}
return [];
}, [urls]);
return (
<View className='xp-preview-image'>
<PhotoProvider {...rest}>
<PhotoSlider
images={urlsArr}
photoClosable={photoClosable}
visible={visible}
onClose={onClose}
index={current}
onIndexChange={onChange}
/>
</PhotoProvider>
</View>
);
};
export default PreviewImage;
使用
const [visible, setVisible] = useState<boolean>(false);
const [current, setCurrent] = useState<number>(0);
{visible && (
<PreviewImage
visible={visible}
current={current}
urls={[]}
onClose={() => {
setVisible(false);
}}
onChange={e => {
setCurrent(e);
}}
/>
)}
最后
以上就是粗暴彩虹为你收集整理的H5 实现图片可预览放大等操作对库 react-photo-view 的封装和使用的全部内容,希望文章能够帮你解决H5 实现图片可预览放大等操作对库 react-photo-view 的封装和使用所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复