更新记录

1.0.1(2026-01-28) 下载此版本

  • 增加了使用示例

1.0.0(2026-01-28) 下载此版本

  • 第一次提交

平台兼容性

uni-app(4.86)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - -

uni-app x(4.86)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - - - -

ho-notice-bar

一个简单的用于展示滚动通知的组件。

  • 只支持横向滚动。
  • 支持多条数据(列表数据)。
  • 只测试了H5、微信小程序、安卓APP,其他平台未测试。

属性

属性名 类型 默认值 说明
list Array [] 数据列表
textKey String `` 数据项中文本字段名,如果为空则直接使用数据项
speed Number 100 滚动速度,单位:px/秒
height String 2.7em 组件高度
fontSize String "" 文字大小
color String #f5a623 文字颜色
bg String #fdf6ed 组件背景
radius String 0 圆角大小

样式变量

变量名 默认值 说明
--ho-notice-bar-height 2.7em 组件高度
--ho-notice-bar-font-size "" 文字大小
--ho-notice-bar-color #f5a623 文字颜色
--ho-notice-bar-background #fdf6ed 组件背景
--ho-notice-bar-border-radius 0 圆角大小
--ho-notice-bar-line-height 1 行高

事件

事件名 参数 说明
onItemClick (index, item) 通知项点击事件
  • index: 通知项索引
  • item: 通知项数据

插槽

插槽名 说明
left 自定义左侧内容
right 自定义右侧内容

示例

<template>
    <view class="content">
        <ho-notice-bar
            :list="list"
            @onItemClick="handleItemClick"
        >
            <template #left>
                <view class="notice-left"> 通知 </view>
            </template>
            <template #right>
                <view class="notice-right"> 更多 </view>
            </template>
        </ho-notice-bar>
    </view>
</template>

<script setup>
    import { ref } from "vue";
    const list = ref([
        "君不见黄河之水天上来,奔流到海不复回。",
        "君不见高堂明镜悲白发,朝如青丝暮成雪。",
        "人生得意须尽欢,莫使金樽空对月。",
        "天生我材必有用,千金散尽还复来。",
        "烹羊宰牛且为乐,会须一饮三百杯。",
        "岑夫子,丹丘生,将进酒,杯莫停。",
        "与君歌一曲,请君为我倾耳听。",
        "钟鼓馔玉不足贵,但愿长醉不愿醒。",
        "古来圣贤皆寂寞,惟有饮者留其名。",
        "陈王昔时宴平乐,斗酒十千恣欢谑。",
        "主人何为言少钱,径须沽取对君酌。",
        "五花马,千金裘,呼儿将出换美酒,与尔同销万古愁。"
    ]);

    // 处理点击事件
    function handleItemClick(index, item) {
        console.log(`点击了第${index + 1}条通知:${item}`);
        uni.showModal({
            content: `点击了第${index + 1}条通知:${item}`,
            showCancel: false
        });
    }

    // 动态更新列表数据
    // setTimeout(() => {
    //  list.value = ["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", "BBBBBBBBBBBBBBBBBBBBBBBBBBB"];
    // }, 3000);
</script>

<style>
    .content {
        padding: 15px;
        font-size: 13px;
    }

    .notice-left {
        font-size: 13px;
        font-weight: bold;
        padding: 0 10px;
        color: #ff0000;
    }

    .notice-right {
        font-size: 10px;
        padding: 0 10px;
        color: #0000ff;
    }
</style>

最后说明

封装此插件的原因是因为在一个项目中需要用到滚动通知,但是在插件时长搜索到的大多都不支持多条数据,所以就自己封装了一个。此插件较为简单,使用前需评估是否满足你的需求,开源不易,多多理解。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。