W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
解釋:圖片,支持 JPG、PNG、GIF、BMP、WEBP 等格式。image 組件默認(rèn)寬度 300px、高度 225px。
屬性名 | 類型 | 默認(rèn)值 | 必填 | 說明 | 最低版本 | ||
---|---|---|---|---|---|---|---|
src |
String |
否 |
圖片資源地址 |
||||
mode |
String |
scaleToFill |
否 |
圖片裁剪、縮放的模式 |
|||
webp |
Boolean |
false |
否 |
iOS 系統(tǒng)默認(rèn)不解析 WEBP 格式,只支持網(wǎng)絡(luò)資源 |
3.180.1 |
||
lazy-load |
Boolean |
false |
否 |
圖片懶加載,在圖片即將進入一定范圍(距離當(dāng)前屏 50px)時才開始進行加載。 |
|||
image-menu-prevent |
Boolean |
false |
否 |
阻止長按圖片時彈起默認(rèn)菜單(即將該屬性設(shè)置為 |
3.170.1 |
||
preview |
Boolean |
否 |
點擊后是否預(yù)覽圖片。在不設(shè)置的情況下,若 image 未監(jiān)聽點擊事件且寬度大于 1/4 屏寬,則默認(rèn)開啟。 |
3.170.9 |
|||
original-src |
string |
否 |
預(yù)覽時顯示的圖片地址 |
3.170.9 |
|||
binderror |
HandleEvent |
否 |
當(dāng)錯誤發(fā)生時,發(fā)布到 AppService 的事件名,事件對象 event.detail = {errMsg: ‘something wrong’} |
||||
bindload |
HandleEvent |
否 |
當(dāng)圖片載入完畢時,發(fā)布到 AppService 的事件名,事件對象 event.detail = {height:‘圖片高度 px’, width:‘圖片寬度 px’} |
有 13 種模式,其中 4 種是縮放模式,9 種是裁剪模式。
模式 | 值 | 說明 |
---|---|---|
縮放 |
scaleToFill |
不保持縱橫比縮放圖片,使圖片的寬高完全拉伸至填滿 image 元素 |
縮放 |
aspectFit |
保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來。也就是說,可以完整地將圖片顯示出來。 |
縮放 |
aspectFill |
保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來。也就是說,圖片通常只在水平或垂直方向是完整的,另一個方向?qū)l(fā)生截取。 |
縮放 |
widthFix |
寬度不變,高度自動變化,保持原圖寬高比不變 |
裁剪 |
top |
不縮放圖片,只顯示圖片的頂部區(qū)域 |
裁剪 |
bottom |
不縮放圖片,只顯示圖片的底部區(qū)域 |
裁剪 |
center |
不縮放圖片,只顯示圖片的中間區(qū)域 |
裁剪 |
left |
不縮放圖片,只顯示圖片的左邊區(qū)域 |
裁剪 |
right |
不縮放圖片,只顯示圖片的右邊區(qū)域 |
裁剪 |
top left |
不縮放圖片,只顯示圖片的左上區(qū)域 |
裁剪 |
top right |
不縮放圖片,只顯示圖片的右上區(qū)域 |
裁剪 |
bottom left |
不縮放圖片,只顯示圖片的左下區(qū)域 |
裁剪 |
bottom right |
不縮放圖片,只顯示圖片的右下區(qū)域 |
代碼示例 1: 自定義縮放模式
<view class="wrap">
<view class="card-area" s-for="{{scaleArray}}">
<image
class="image-area {{item.hasBackgroud == 1 ? 'backGround': ''}}"
data-name="{{item.mode}}"
bindtap="onTap"
mode="{{item.mode}}"
src="{{src}}"
binderror="imageError"
bindload="imageLoad" />
<view class="bottom-description">{{item.text}}</view>
</view>
</view>
Page({
data: {
scaleArray: [{
mode: 'scaleToFill',
text: 'scaleToFill:不保持縱橫比縮放圖片,使圖片完全適應(yīng)'
}, {
mode: 'aspectFit',
text: 'aspectFit:保持縱橫比縮放圖片,使圖片的長邊能完全顯示出來',
hasBackgroud: 1
}, {
mode: 'aspectFill',
text: 'aspectFill:保持縱橫比縮放圖片,只保證圖片的短邊能完全顯示出來'
}, {
mode: 'widthFix',
text: 'widthFix:寬度不變,高度自動變化,保持原圖寬高比不變'
}],
src: 'https://b.bdstatic.com/miniapp/images/demo-dog.png'
},
imageError(e) {
console.log('image 發(fā)生 error 事件,攜帶值為', e.detail.errMsg);
},
onTap(e) {
console.log('image 發(fā)生 tap 事件', e);
},
imageLoad(e) {
console.log('image 加載成功', e.type);
}
});
代碼示例 2: 不縮放圖片,自定義裁切模式
<view class="wrap">
<view class="card-area" s-for="{{cutArray}}">
<image
class="image-area"
data-name="{{item.mode}}"
bindtap="onTap"
lazy-load="true"
image-menu-prevent="true"
mode="{{item.mode}}"
src="{{src}}"
binderror="imageError"
bindload="imageLoad" />
<view class="bottom-description">{{item.text}}</view>
</view>
</view>
Page({
data: {
cutArray: [{
mode: 'top',
text: 'top:不縮放圖片,只顯示圖片的頂部區(qū)域'
}, {
mode: 'bottom',
text: 'bottom:不縮放圖片,只顯示圖片的底部區(qū)域'
}, {
mode: 'center',
text: 'center:不縮放圖片,只顯示圖片的中間區(qū)域'
}, {
mode: 'left',
text: 'left:不縮放圖片,只顯示圖片的左邊區(qū)域'
}, {
mode: 'right',
text: 'right:不縮放圖片,只顯示圖片的右邊邊區(qū)域'
}, {
mode: 'top left',
text: 'top left:不縮放圖片,只顯示圖片的左上邊區(qū)域'
}, {
mode: 'top right',
text: 'top right:不縮放圖片,只顯示圖片的右上邊區(qū)域'
}, {
mode: 'bottom left',
text: 'bottom left:不縮放圖片,只顯示圖片的左下邊區(qū)域'
}, {
mode: 'bottom right',
text: 'bottom right:不縮放圖片,只顯示圖片的右下邊區(qū)域'
}],
src: 'https://b.bdstatic.com/miniapp/images/demo-dog.png'
},
imageError(e) {
console.log('image 發(fā)生 error 事件,攜帶值為', e.detail.errMsg);
},
onTap(e) {
console.log('image 發(fā)生 tap 事件', e);
},
imageLoad(e) {
console.log('image 加載成功', e.type);
}
});
代碼示例 3 - iOS 可支持 webp
<image src='https://b.bdstatic.com/searchbox/icms/searchbox/images/demo.webp' webp/>
參考示例 1: 可放動圖
<image src="https://b.bdstatic.com/miniapp/images/radio.gif" rel="external nofollow" />
代碼示例 3 - iOS 可支持 webp
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: