uni-app 4.3封装头部导航组件(一)

简介: uni-app 4.3封装头部导航组件(一)


这里将导航插件引入 index.nvue

<template>
  <view class="">
    <free-nav-bar :title="'微信(100)'">
      <template v-slot="title"></template>
    </free-nav-bar>
  </view>
</template>
<script>
  import freeNavBar from '@/components/free-ui/free-nav-bar.vue';
  export default {
    components: {
      freeNavBar
    },
    data() {
      return {
        
      }
    },
    onLoad() {
      
    },
    methods: {
    }
  }
</script>
<style>
</style>

这里是导航插件free-nav-bar.vue插件内容,其中free-nav-bar.vue引入了另外一个插件free-icon-button.vue(右上侧图标插件)

<template>
  <view class="bg-light">
    <!-- 状态栏 -->
    <view :style="'height:'+statusBarHeight+'px;'"></view>
    <!-- 导航 -->
    <view class="w-100 flex align-center justify-between" style="height: 90rpx;">
      <!-- 左边 -->
      <view class="flex align-center">
        <!-- 标题 -->
        <text v-if="title" class="font-md ml-3">{{title}}</text>
      </view>
      <!-- 右边 -->
      <view class="flex align-center">
        <free-icon-button @click="btn1"><text class="iconfont font-md">&#xe6e3;</text></free-icon-button>
        <free-icon-button @click="btn2"><text class="iconfont font-md">&#xe682;</text></free-icon-button>
      </view>
      <!--\ue6e3 \ue682 -->
    </view>
  </view>
</template>
<script>
    import freeIconButton from './free-icon-button.vue';
  export default {
    components: {
      freeIconButton,
    },
    props: {
      title: {
        type: String,
        default: ''
      }
    },
    data() {
      return {
        statusBarHeight: 0
      }
    },
    mounted() {
      // 获取任务栏高度
      // #ifdef APP-PLUS-NVUE
        this.statusBarHeight = plus.navigator.getStatusbarHeight()
      // #endif
      this.navBarHeight = this.statusBarHeight + uni.upx2px(90)
    }
  }
</script>
<style>
</style>

这里是free-icon-button.vue(右上侧图标插件)

<template>
  <view class="flex align-center justify-center" 
  hover-class="bg-hover-light" @click="$emit('click')"
  style="height: 90rpx;width: 90rpx;">
    <slot></slot>
  </view>
</template>
<script>
  export default {
    props: {
      icon: {
        type: String,
        default: ''
      },
    },
    mounted() {
      // #ifdef APP-PLUS-NVUE
      // 加载公共图标库
      const domModule = weex.requireModule('dom')
      domModule.addRule('fontFace', {
          'fontFamily': "iconfont",
          'src': "url('/static/font_1365296_2ijcbdrmsg.ttf')"
      });
      // #endif
    }
  }
</script>
<style>
</style>


目录
相关文章
|
2月前
|
缓存 小程序 索引
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
uni-app开发微信小程序时vant组件van-tabs的使用陷阱及解决方案
235 1
|
2月前
|
存储 API 数据库
uniapp APP自动更新组件
uniapp APP自动更新组件
84 1
|
2月前
|
存储 前端开发 UED
uni-app:基础组件 (下)
本文介绍了多种前端组件及其用法,包括:label 组件用于表单元素的标签;picker 组件用于实现日期、时间及普通列表的选择器;textarea 组件用于输入多行文本,并可通过 v-model 双向绑定数据;process 组件用于显示进度条;swiper 组件用于轮播图展示;match-media 组件根据屏幕尺寸展示内容;audio 组件用于播放音频;switch 组件用于开关选择;scroll-view 组件实现滚动视图功能;以及 storage 的使用方法,如设置、获取和移除本地存储等。
|
2月前
|
存储 前端开发 JavaScript
uni-app:基础组件 (上)
本文介绍了uni-app中多个组件的使用方法,包括存储操作、图标展示、按钮样式、表单输入、导航跳转和输入框控制等。通过具体代码示例展示了如何设置存储键值、使用不同类型的按钮、实现表单提交与重置功能、控制输入框的显示与清除等功能。
|
3月前
|
移动开发 小程序 前端开发
uni-app组件样式修改不生效
uni-app组件样式修改不生效
|
4月前
|
存储 BI Android开发
全开源仿第八区H5APP封装打包分发系统源码
全开源仿第八区H5APP封装打包分发系统源码
155 4
|
4月前
|
XML 数据格式
【Azure Logic App】在Logic App中使用 Transfer XML组件遇见错误 undefined
【Azure Logic App】在Logic App中使用 Transfer XML组件遇见错误 undefined
|
2月前
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
664 7
|
2月前
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
735 1

热门文章

最新文章