nav_header.vue 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. <template>
  2. <view class="nav" :style="{background:navBcg,color:textColor}">
  3. <image v-if="showback" :src="imgUrl" @click="back" mode="widthFix" style="width: 48rpx;position: absolute;left: 12rpx;bottom: 20rpx;"></image>
  4. <view class="title">
  5. <slot></slot>
  6. </view>
  7. <view class="right" v-if="showright && rightIcon" @click="rightClick">
  8. <image :src="rightLogo" mode="" style="width: 48rpx;height: 48rpx;"></image>
  9. </view>
  10. <view class="right" v-if="showright && rightIcon==false " @click="rightClick">
  11. {{rightText}}
  12. </view>
  13. </view>
  14. </template>
  15. <script>
  16. export default{
  17. props:{
  18. // 显示标题还是图标
  19. rightIcon:{
  20. typeof:Boolean,
  21. default:true
  22. },
  23. rightText:{
  24. typeof:String,
  25. default:"右侧标题"
  26. },
  27. showright:{
  28. typeof:Boolean,
  29. default:false
  30. },
  31. showback:{
  32. type:Boolean,
  33. default:true
  34. },
  35. rightLogo:{
  36. type:String,
  37. default:'/static/market/search.png'
  38. },
  39. imgUrl:{
  40. type:String,
  41. // default:require('@/static/index/details/arrow_back.png')
  42. default:require('@/static/2.png')
  43. },
  44. navBcg:{
  45. type:String,
  46. default:'#171918'
  47. },
  48. textColor:{
  49. type:String,
  50. default:'#fff'
  51. }
  52. },
  53. methods:{
  54. rightClick(){
  55. this.$emit("rightClick")
  56. }
  57. }
  58. }
  59. </script>
  60. <style scoped>
  61. .nav{
  62. width: 750rpx;
  63. height: 100rpx;
  64. position: fixed;
  65. top: 0;
  66. left: 0;
  67. z-index: 9;
  68. background: #FFFFFF;
  69. }
  70. .title{
  71. font-size: 36rpx;
  72. font-weight: bold;
  73. text-align: center;
  74. line-height: 100rpx;
  75. letter-spacing: 4rpx;
  76. /* color: #000; */
  77. }
  78. .right{
  79. position: absolute;
  80. right: 40rpx;
  81. top: 50%;
  82. transform: translateY(-50%);
  83. font-size: 30rpx;
  84. }
  85. </style>