uniapp 打造自用组件库 (一) 标题栏

简介: 本文将带领读者使用uniapp封装一些常用组件,方便日后开发时重复使用,当然文中封装的组件不可能适配所有应用场景,但是我希望读者可以跟着我的思路实现出来,然后可以在此基础上优化改进为自己合适的,本人一个前端小菜鸡,希望大佬们可以不吝赐教,也是对我的技术水平的提升

uniapp 打造自用组件库 (一) 标题栏

前言

本文将带领读者使用uniapp封装一些常用组件,方便日后开发时重复使用,当然文中封装的组件不可能适配所有应用场景,但是我希望读者可以跟着我的思路实现出来,然后可以在此基础上优化改进为自己合适的,本人一个前端小菜鸡,希望大佬们可以不吝赐教,也是对我的技术水平的提升

标题栏

实现效果

image.png

应用效果

image.png

实现思路

通过flex布局将盒子分成左右两部分,右侧预留 需要可以自己添加东西,左侧分为3部分:色块、标题、气泡,色块通过接收传入的颜色来显示不同颜色,不传默认不显示,标题默认为 '标题',传入显示新的,气泡通过传入的数字控制,为0或不传不显示,然后调整样式

实现代码

<template>
    <view @tap="change" class="all" >
        <view class="title" >
            <view class="titleLeft">
                <view class="view" v-if="(pieceColor)" :style="{backgroundColor:pieceColor}"></view>
                <text class="text" :style="{color:color}">{{value}}</text>
                <view class="bubble" :style="{backgroundColor:pieceColor}" v-if="num>0">{{num}}</view>
            </view>
      <view class="titleRight">
            </view>
        </view>
    </view>
</template>

<script>
    export default {
        props: {
            //标题
            value: {
                type: String,
                default: '标题'
            },
            //文字颜色
            color: {
                type: String,
                default: '#333'
            },
            //色块颜色 默认空
            pieceColor: {
                type: String,
                default: ''
            },
            //数字气泡 0未空
            num: {
                type: Number,
                default: 0
            },
        },
        
        data() {
            return {

            };
        },
        
        methods: {
            change(e) {
                this.$emit('change', this.value)
            }
        },
    }
</script>

<style lang="scss" scoped>
    .all {
        background:rgba(255,255,255,0.8);
        backdrop-filter: saturate(180%) blur(20px);
    }

    .bubble {
        margin-left: 20rpx;
        padding: 0rpx 10rpx;
        display: flex;
        font-size: 10px;
        color: #FFFFFF;
        justify-content: center;
        align-items: center;
        border-radius: 80rpx;
    }

    .title {

        display: flex;
        align-items: center;
        padding: 30rpx;
        .titleLeft{
            display: flex;
            flex: 1;
            .view {
                width: 10rpx;
                height: 40rpx;
                margin-right: 20rpx;
                border-radius: 5rpx;
            }
            .text {
                font-size: 16px;
                font-weight: bold;
                overflow: hidden;
                text-overflow: ellipsis;
                white-space: nowrap;
            }
        }

        
    }
</style>
相关文章
|
24天前
|
数据挖掘
uniapp uview扩展u-picker支持日历期间 年期间 月期间 时分期间组件
uniapp uview扩展u-picker支持日历期间 年期间 月期间 时分期间组件
46 10
|
24天前
|
搜索推荐 JavaScript 数据可视化
uniapp/vue个性化单选、复选组件
uniapp/vue个性化单选、复选组件
62 5
|
22天前
|
数据可视化 大数据 API
低代码可视化开发-uniapp新闻跑马灯组件-代码生成器
低代码可视化开发-uniapp新闻跑马灯组件-代码生成器
56 2
|
22天前
|
存储 API 数据库
uniapp APP自动更新组件
uniapp APP自动更新组件
50 1
|
8天前
|
移动开发 编解码 数据可视化
低代码可视化-uniapp SliderRange区间组件-代码生成器
SliderRange区间组件是一种用户界面元素,允许用户通过拖动滑块选择数值范围。组件支持微信小程序、H5和App,具有高度可定制性、响应式设计和多种事件处理功能。适用于价格筛选、音量调节等场景。代码实现包括滑动区域、滑块、事件处理等部分,支持可视化配置步长、颜色等属性。使用时需注意选择合适步长、提供清晰标签和考虑无障碍设计。
27 0
|
24天前
|
编解码 数据可视化 API
DIY可视化UniApp表格组件
DIY可视化UniApp表格组件
27 0
|
27天前
|
机器学习/深度学习 算法 数据可视化
UniApp手机滑块验证组件代码生成器
UniApp手机滑块验证组件代码生成器
46 0
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
121 7
基于SpringBoot+Vue+uniapp的房屋租赁App的详细设计和实现(源码+lw+部署文档+讲解等)
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的汉服交易小程序的详细设计和实现(源码+lw+部署文档+讲解等)
59 7
|
4月前
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的宠物医院微信小程序的详细设计和实现(源码+lw+部署文档+讲解等)
76 7