| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 | 
							- <template>
 
-   <view class="u-tips" :class="['u-' + type, isShow ? 'u-tip-show' : '']" :style="{
 
- 		top: navbarHeight + 'px',
 
- 		zIndex: uZIndex
 
- 	}">{{ title }}
 
-   </view>
 
- </template>
 
- <script>
 
- /**
 
-  * topTips 顶部提示
 
-  * @description 该组件一般用于页面顶部向下滑出一个提示,尔后自动收起的场景。
 
-  * @tutorial https://www.uviewui.com/components/topTips.html
 
-  * @property {String Number} navbar-height 导航栏高度(包含状态栏高度在内),单位PX
 
-  * @property {String Number} z-index z-index值(默认975)
 
-  * @example <u-top-tips ref="uTips"></u-top-tips>
 
-  */
 
- export default {
 
-   name: "u-top-tips",
 
-   props: {
 
-     // 导航栏高度,用于提示的初始化
 
-     navbarHeight: {
 
-       type: [Number, String],
 
-       // #ifndef H5
 
-       default: 0,
 
-       // #endif
 
-       // #ifdef H5
 
-       default: 44,
 
-       // #endif
 
-     },
 
-     // z-index值
 
-     zIndex: {
 
-       type: [Number, String],
 
-       default: ''
 
-     }
 
-   },
 
-   data() {
 
-     return {
 
-       timer: null, // 定时器
 
-       isShow: false, // 是否显示消息组件
 
-       title: '', // 组件中显示的消息内容
 
-       type: 'primary', // 消息的类型(颜色不同),primary,success,error,warning,info
 
-       duration: 2000, // 组件显示的时间,单位为毫秒
 
-     };
 
-   },
 
-   computed: {
 
-     uZIndex() {
 
-       return this.zIndex ? this.zIndex : this.$u.zIndex.topTips;
 
-     }
 
-   },
 
-   methods: {
 
-     show(config = {}) {
 
-       // 先清除定时器(可能是上一次定义的,需要清除了再开始新的)
 
-       clearTimeout(this.timer);
 
-       // 时间,内容,类型主题(type)等参数
 
-       if (config.duration) this.duration = config.duration;
 
-       if (config.type) this.type = config.type;
 
-       this.title = config.title;
 
-       this.isShow = true;
 
-       // 倒计时
 
-       this.timer = setTimeout(() => {
 
-         this.isShow = false;
 
-         clearTimeout(this.timer);
 
-         this.timer = null;
 
-       }, this.duration);
 
-     }
 
-   }
 
- };
 
- </script>
 
- <style lang="scss" scoped>
 
- @import "../../libs/css/style.components.scss";
 
- view {
 
-   box-sizing: border-box;
 
- }
 
- // 顶部弹出类型样式
 
- .u-tips {
 
-   width: 100%;
 
-   position: fixed;
 
-   z-index: 1;
 
-   padding: 20 rpx 30 rpx;
 
-   color: #FFFFFF;
 
-   font-size: 28 rpx;
 
-   left: 0;
 
-   right: 0;
 
-   @include vue-flex;
 
-   align-items: center;
 
-   justify-content: center;
 
-   opacity: 0;
 
-   // 此处为最核心点,translateY(-100%)意味着将其从Y轴隐藏(隐藏到顶部(h5)或者说导航栏(app)下面)
 
-   transform: translateY(-100%);
 
-   transition: all 0.35s linear;
 
- }
 
- .u-tip-show {
 
-   transform: translateY(0);
 
-   opacity: 1;
 
-   z-index: 99;
 
- }
 
- .u-primary {
 
-   background: $u-type-primary;
 
- }
 
- .u-success {
 
-   background: $u-type-success;
 
- }
 
- .u-warning {
 
-   background: $u-type-warning;
 
- }
 
- .u-error {
 
-   background: $u-type-error;
 
- }
 
- .u-info {
 
-   background: $u-type-info;
 
- }
 
- </style>
 
 
  |