You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!-- z - paging -- >
<!-- github地址 : https : //github.com/SmileZXLee/uni-z-paging -->
<!-- dcloud地址 : https : //ext.dcloud.net.cn/plugin?id=3935 -->
<!-- 反馈QQ群 : 790460711 -- >
<!-- 空数据占位view , 此组件支持easycom规范 , 可以在项目中直接引用 -- >
< template >
< view :class ="{'zp-container':true,'zp-container-fixed':emptyViewFixed}" :style ="[finalEmptyViewStyle]" @click ="emptyViewClick" >
< view class = "zp-main" >
< image v-if ="!emptyViewImg.length" :class="{'zp-main-image-rpx':unit==='rpx','zp-main-image-px':unit==='px'}" :style="[emptyViewImgStyle]" :src="emptyImg" />
<image v-else :class="{'zp-main-image-rpx':unit==='rpx','zp-main-image-px':unit==='px'}" mode="aspectFit" :style="[emptyViewImgStyle]" :src="emptyViewImg" />
<text class="zp-main-title" :class="{'zp-main-title-rpx':unit==='rpx','zp-main-title-px':unit==='px'}" :style="[emptyViewTitleStyle]">{{emptyViewText}}</text>
<text v-if="showEmptyViewReload" :class="{'zp-main-error-btn':true,'zp-main-error-btn-rpx':unit==='rpx','zp-main-error-btn-px':unit==='px'}" :style="[emptyViewReloadStyle]" @click.stop="reloadClick" > {{ emptyViewReloadText }} < / text >
< / view >
< / view >
< / template >
< script >
import zStatic from '../z-paging/js/z-paging-static'
export default {
name : "z-paging-empty-view" ,
data ( ) {
return {
} ;
} ,
props : {
// 空数据描述文字
emptyViewText : {
type : String ,
default : '没有数据哦~'
} ,
// 空数据图片
emptyViewImg : {
type : String ,
default : ''
} ,
// 是否显示空数据图重新加载按钮
showEmptyViewReload : {
type : Boolean ,
default : false
} ,
// 空数据点击重新加载文字
emptyViewReloadText : {
type : String ,
default : '重新加载'
} ,
// 是否是加载失败
isLoadFailed : {
type : Boolean ,
default : false
} ,
// 空数据图样式
emptyViewStyle : {
type : Object ,
default : function ( ) {
return { }
}
} ,
// 空数据图img样式
emptyViewImgStyle : {
type : Object ,
default : function ( ) {
return { }
}
} ,
// 空数据图描述文字样式
emptyViewTitleStyle : {
type : Object ,
default : function ( ) {
return { }
}
} ,
// 空数据图重新加载按钮样式
emptyViewReloadStyle : {
type : Object ,
default : function ( ) {
return { }
}
} ,
// 空数据图z-index
emptyViewZIndex : {
type : Number ,
default : 9
} ,
// 空数据图片是否使用fixed布局并铺满z-paging
emptyViewFixed : {
type : Boolean ,
default : true
} ,
// 空数据图中布局的单位, 默认为rpx
unit : {
type : String ,
default : 'rpx'
}
} ,
computed : {
emptyImg ( ) {
return this . isLoadFailed ? zStatic . base64Error : zStatic . base64Empty ;
} ,
finalEmptyViewStyle ( ) {
this . emptyViewStyle [ 'z-index' ] = this . emptyViewZIndex ;
return this . emptyViewStyle ;
}
} ,
methods : {
// 点击了reload按钮
reloadClick ( ) {
this . $emit ( 'reload' ) ;
} ,
// 点击了空数据view
emptyViewClick ( ) {
this . $emit ( 'viewClick' ) ;
}
}
}
< / script >
< style scoped >
. zp - container {
/* #ifndef APP-NVUE */
display : flex ;
/* #endif */
align - items : center ;
justify - content : center ;
}
. zp - container - fixed {
/* #ifndef APP-NVUE */
position : absolute ;
top : 0 ;
left : 0 ;
width : 100 % ;
height : 100 % ;
/* #endif */
/* #ifdef APP-NVUE */
flex : 1 ;
/* #endif */
}
. zp - main {
/* #ifndef APP-NVUE */
display : flex ;
/* #endif */
flex - direction : column ;
align - items : center ;
padding : 50 rpx 0 rpx ;
}
. zp - main - image - rpx {
width : 240 rpx ;
height : 240 rpx ;
}
. zp - main - image - px {
width : 120 px ;
height : 120 px ;
}
. zp - main - title {
color : # aaaaaa ;
text - align : center ;
}
. zp - main - title - rpx {
font - size : 28 rpx ;
margin - top : 10 rpx ;
padding : 0 rpx 20 rpx ;
}
. zp - main - title - px {
font - size : 14 px ;
margin - top : 5 px ;
padding : 0 px 10 px ;
}
. zp - main - error - btn {
border : solid 1 px # dddddd ;
color : # aaaaaa ;
}
. zp - main - error - btn - rpx {
font - size : 28 rpx ;
padding : 8 rpx 24 rpx ;
border - radius : 6 rpx ;
margin - top : 50 rpx ;
}
. zp - main - error - btn - px {
font - size : 14 px ;
padding : 4 px 12 px ;
border - radius : 3 px ;
margin - top : 25 px ;
}
< / style >