组件使用:
<navbar class="header" :background="backgroundColor" back title="标题" @onBack="goBack"></navbar>
组件引用:
import navbar from '@/components/NavBer.vue';
组件注册:
components:{navbar}
组件封装:
<template> <view class="prohibition"> <view class="demo" :style="[{background},{color},{height},{paddingTop}]"> <!-- 左侧返回按钮 --> <view class="left" @click="onBack" v-if="back" :style="[{color},{paddingTop}]"> <uni-icons type="arrowleft" size="30" :color='color'> 11 </uni-icons> <!-- 此处图标使用的是 uni-ui图标 --> </view> <!-- 中间标题文字 --> <view class="title"> {{title}} </view> </view> </view> </template> <script> export default { data() { return { height: 0, paddingTop: 0, } }, // props: ["title", "back"], props:{ title:{ // 标题文字(默认为空) type:String, default:'' }, color:{ // 标题和返回按钮颜色(默认白色) type:String, default:'#111' }, //建议使用background 因为使用backgroundColor,会导致不识别渐变颜色 background:{ // 背景颜色(不传值默认透明) type:String, default:'transparent' }, back:{ // 是否显示返回按钮(不传值默认不显示) type:Boolean, default:false }, }, created() { const demo = uni.getMenuButtonBoundingClientRect() this.height = demo.height + "px" this.paddingTop = demo.top + "px" }, methods: { // 左侧返回按钮调用 onBack() { console.log(6666) this.$emit("onBack") }, onBack2() { console.log(555) uni.navigateBack({ delta:2 }) } } } </script> <style lang="less"> .demo { position: relative;//注意,建议使用相对定位,因为固定定位会脱离文档流,然后你还要去设置marginTop值 // position: fixed; width: 100%; display: flex; align-items: center; justify-content: center; font-size: 26rpx; z-index: 100; padding-bottom: 10rpx; .left { float: left; position: absolute; width: 100rpx; height: 50rpx; top: 0; bottom: 0; left: 20rpx; color: #fff; margin: auto; } .title { font-size: 36rpx; font-family: Source Han Sans CN; // color: #FFFFFF; } } </style>
名表维修服务中心:http://www.025lct.com/
手表维修保养:http://www.025lct.com/
手表维修服多中心:http://www.kmhdlzb.com/
手表维修门店:http://www.kmhdlzb.com/
宝玑手表维修中心:http://www.longcaiteng.com/
劳力士手表维修中心:http://www.longcaiteng.com/
浪琴手表维修售后服务中心:http://watch.025lct.com/
手表维修服务中心:http://watch.025lct.com/