0.1.1 • Published 7 years ago

nuke-picture v0.1.1

Weekly downloads
8
License
-
Repository
gitlab
Last release
7 years ago

Picture

  • category: UI
  • chinese: 图片组件
  • type: UI组件

注意:nuke-picture 不在 nuke 大包中,需小包方式引入

注意:lazyload 仅h5有效,要开启 lazyload 功能,Web 端需引入//g.alicdn.com/kg/appear/0.1.2/appear.min.js

API

参数说明类型默认值
source{uri: ''}object
style样式,必须设置 {width:'500',height:'500'object
resizeMode组件尺寸和图片尺寸不成比例时如何调整图片的大小。可用值:cover,contain,stretchstringstretch
forceUpdateshouldComponentUpdate 是否强制更新Booleanfalse
lazyload(仅h5根据图像是否在可视范围内延迟加载图像Booleanfalse
autoPixelRatio(仅h5在高分辨率下使用二倍图Booleanfalse
placeholder(仅h5lazyload 时显示的背景图 URLstring一张1px base64图
autoRemoveScheme(仅h5图像 URL 自动删除协议头Booleanfalse
autoReplaceDomain(仅h5图像 URL 域名替换成 gw.alicdn.comBooleanfalse
autoScaling(仅h5为图像 URL 添加缩放后缀,将会根据 style 内的 width 属性添加缩放后缀Booleanfalse
autoCompress(仅h5添加质量压缩后缀Booleanfalse
compressSuffix(仅h5图像质量压缩后缀规则array'Q75', 'Q50'
highQuality(仅h5使用高质量的压缩后缀Booleanfalse
ignoreGif(仅h5所有针对 URL 的优化是否忽略 gif 格式的图像,默认忽略Booleantrue

示例

<Picture
    source={{uri: 'https://gw.alicdn.com/tfscom/tuitui/TB2MuUPpVXXXXc6XXXXXXXXXXXX_!!2741895938.jpeg'}}
    style={{
        width: '620rem',
        height:'400rem'
    }}
    lazyload={true}
/>

resizeMode

  • cover: 在保持图片宽高比的前提下缩放图片,直到宽度和高度都大于等于容器视图的尺寸(如果容器有padding内衬的话,则相应减去)。译注:这样图片完全覆盖甚至超出容器,容器中不留任何空白。
  • contain: 在保持图片宽高比的前提下缩放图片,直到宽度和高度都小于等于容器视图的尺寸(如果容器有padding内衬的话,则相应减去)。译注:这样图片完全被包裹在容器中,容器中可能留有空白
  • stretch: 拉伸图片且不维持宽高比,直到宽高都刚好填满容器。

设置 resizeMode 的前提是你设置了 style.width && style.height

forceUpdate

Picture 是一个 PureComponent ,它的 shouldComponentUpdate 决定了当且仅当 porps.source.uri 有变化时才会重新 render。 如果你想忽略它的 shouldComponentUpdate,则传入 forceUpdate={true}

lazyload

开启 lazyload 功能,Wed 端需在 HTML 内引入

<script src="//g.alicdn.com/kg/appear/0.1.2/appear.min.js"></script>