使用saltui实现图片预览查看
项目是基于dingyou-dingtalk-mobile脚手架的一个微应用,这个脚手架使用的UI是antd-mobile,它提供了一个图片上传的组件,但是未提供图片预览的组件,在网上找了不少如何在react项目中实现图片预览查看的功能,大多数都是基于react-native的,比如https://segmentfault.com/a/1190000010090233里面所说的react-wx-images-viewer组件,以及https://www.jianshu.com/p/6374a1ec3f01里介绍的react-native-photo-browser组件,但是这个脚手架未引用到react-native,试着在该脚手架上安装react-native,进而使用这些组件,但是都报错了,无法实现。
看了下钉钉官方推荐的saltui,里面提供了图片预览的的功能,可参看https://salt-ui.github.io/components/image-viewer,立即按照其说明进行了安装。
打开nowaGui对于项目下的终端,输入以下命令行即可安装。
npm install saltui --save
接下来是在页面上的引用。加入以下两句即可。(当时在引用的时候少加了dd.css,导致一直没有使用成功,以为在这个脚手架中只能使用一种ui呢。)
import { ImageViewer,Boxs } from 'saltui';
import 'saltui/build/dd.css';
接下来即是获取图片数据、填充进组件里即可了
show =(index)=>{
ImageViewer.show({
photos: this.listForImageLook(this.state.imagesList),
current: index,
});
}
const listForImage = (imagesList) => {
let images = [];
for(let i = 0; i < imagesList.length; i++) {
let m = {url : AUTH_URL + 'appImages/' + imagesList[i].imageName,id : imagesList[i].id};
images.push(
<Box>
<img src={AUTH_URL + 'appImages/' + imagesList[i].imageName} className="demo3-t-list-img"
onClick={this.show.bind(this,i)}/>
</Box> );
}
return images;
}
<div style={{display: this.state.imagesList.length == 0 ? 'none' : ''}}>
<WhiteSpace size="lg" />
<Card>
<Card.Header
title={<span><font color="gray"> * </font>图片</span>}
/>
<Card.Body style={{width : '90%'}}>
<HBox vAlign="center">
<HBox flex={1}>
{listForImage(this.state.imagesList)}
</HBox>
</HBox>
</Card.Body>
</Card>
</div>
使用saltui实现图片预览查看的更多相关文章
- jQuery PC端图片预览,鼠标移上去查看大图
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.
http://wxb.github.io/dropzonejs.com.zh-CN/dropzonezh-CN/ 由于项目需要,完成一个web的图片拖拽上传,也就顺便学习和了解了一下前端的比较新的技术 ...
- 本地与在线图片转Base64及图片预览
查看效果:http://sandbox.runjs.cn/show/tgvbo9nq 本地图片转Base64(从而可以预览图片): function localImgLoad() { var src ...
- 图片预览组件PhotoView
图片预览组件PhotoView PhotoView是一款图片预览组件,广泛应用于大图的查看.该组件支持图片手势缩放.旋转等功能.它可以很好的和ViewPager.Picasso等组件结合,实现各种复杂 ...
- js实现移动端图片预览:手势缩放, 手势拖动,双击放大...
.katex { display: block; text-align: center; white-space: nowrap; } .katex-display > .katex > ...
- DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库.
DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库. 它是轻量级的,不依赖任何其他类库(如JQuery)并且高度可定制. 试试看! 将文件拖至此处或点击上传.(这仅仅是 dropzo ...
- 手动实现图片预览-放大缩小全屏支持IE9以上
#{extends '/Index/index.html' /} #{set title:'意见反馈' /} <script src="/public/mgr/javascripts/ ...
- 原生js实现ajax的文件异步提交功能、图片预览功能.实例
采用html5使得选择图片改变时,预览框中图片随之改变.input文件选择框美化.原生js完成文件异步提交 效果图: 代码如下,可直接复制并保存为html文件打开查看效果 <html> & ...
- 移动端 H5 拍照 从手机选择图片,移动端预览,图片压缩,图片预览,再上传服务器
前言:最近公司的项目在做全网营销,要做非微信浏览器的wap 站 的改版,其中涉及到的一点技术就是采用H5 选择手机相册中的图片,或者拍照,再将获取的图片进行压缩之后上传. 这个功能模块主要有这5点比较 ...
随机推荐
- 【ASP.NET】System.Web.Routing - Route Class
Provides properties and methods for defining a route and for obtaining information about the route. ...
- facebook api之Access Tokens之Business Manager System User
Business Manager System User Make programatic, automated actions on ad objects or Pages, or do progr ...
- Kylin工作原理、体系架构
核心思想:预计算. 对多维分析可能用到的度量进行预计算,将计算好的结果保存成Cube,并存在HBase中,供查询时直接访问 将高复杂度的聚合运算.多表连接……操作转换成对预计算结果的查询.决定了Kyl ...
- 解决Maven管理项目update Maven时,jre自动变为1.5
本文为博主原创,未经允许不得转载: 在搭建一个maven web项目时,项目已经按步骤搭建完好,之后项目上就报了一个错误. 在控制台看到错误提示如下:Dynamic Web Module 3.0 re ...
- JavaScript深入
BOM(浏览器对象模型)——与浏览器对话: Window对象(代表浏览器的窗口——不包括工具栏.滚动条): //所有全局对象.全局函数,均自动成为window对象的成员(document属于浏览器,所 ...
- C#:导入Excel通用类(Xlsx格式)
一.引用插件EPPlus.dll 插件下载地址:https://pan.baidu.com/s/1jEl7iu1H_C7-j9Wq37xIRQ 提取密码:pdy6 二.定义通用类XlsxExce ...
- linux查看历史操作记录并且显示执行时间
vim ~/.bashrc 或者 ~/.bash_profile 增加:export HISTTIMEFORMAT="%F %T " 查看历史记录之前先执行: 然后使用hist ...
- django 应用中获取访问者ip地址
通常访问者的IP就在其中,所以我们可以用下列方法获取用户的真实IP: #X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载 ...
- python shelve模块
#coding=utf- import shelve f = shelve.open("shelve_test") f['info'] = "alex" f[, ...
- Centos7:查看某个端口被哪个进程占用
查看端口被哪个进程使用的命令 netstat -lnp | grep 参考: https://blog.csdn.net/u010886217/article/details/83626236 htt ...