uniapp中使用uview的NoticeBar滚动通知时,正常显示多维数组,并增加点击功能

一、遇到的问题

uniapp中使用uview的NoticeBar滚动通知,发现默认的text参数,在direction为column时要求为数组,默认的结构是:

['帮帮乐,乐在其中','系统内测中,征求宝贵意见']

在这里插入图片描述
但是我的数据结构是如下的形式,还想通过点击来跳转到文章的详情页面

[
	['id'=>'1','title'=>'帮帮乐,乐在其中'],
	['id'=>'2','title'=>'系统内测中,征求宝贵意见']
]

按照默认的组件,这样的结构是不能正常显示的。查看了组件的写法,发现只有修改组件,才能达到想要的形式。

二、解决问题

  1. 找到组件的位置,看到写法如下
    在这里插入图片描述

  2. 再找到u-column-notice,如下
    在这里插入图片描述
    发现这里,text数组中直接调用的是item,按照我的数据结构改一下这里
    item 改成 item.title

<swiper-item v-for="(item, index) in text" :key="index" class="u-notice__swiper__item" >
		<text class="u-notice__swiper__item__text u-line-1" :style="[textStyle]" >
				{{ item.title }}
		</text>
</swiper-item>

这样,在页面中就可以正常显示title了。

三、增加点击,跳转到详情页

给NoticeBar加上click,可以获得index,点击时,获取数组的index行数据的id即可。

<u-notice-bar :text="textList" direction="column" 
color="#666666" bgColor="#ffffff" @click="goArticle" ></u-notice-bar>
goArticle(index) {
	let url = '/pages/article/detail?id=' + this.textList[index].id;
	uni.navigateTo({
		url: url
	})
}

四、结束

没了。

### Vue 实现文字跑马灯效果的 UI 库 对于希望在项目中快速集成使用文字跑马灯效果的应用开发者来说,选择合适的UI库至关重要。Element Plus 和 Vant 都是Vue生态中的优秀组件库,在其中提供了丰富的功能来满足这一需求。 #### Element Plus 中的文字滚动条(Marquee) Element Plus是一个基于Vue 3开发的企业级组件库,拥有良好的社区支持和技术文档。虽然官方没有直接提供名为“跑马灯”的组件,但是可以通过`<el-carousel>`轮播图组件自定义实现类似的效果[^1]: ```html <template> <div class="marquee-container"> <el-carousel height="50px" direction="vertical" :autoplay="true" interval="2000"> <el-carousel-item v-for="(item,index) in items" :key="index"> {{ item }} </el-carousel-item> </el-carousel> </div> </template> <script setup> import { ref } from 'vue' const items = ref(['消息一', '消息二', '更多消息...']) </script> <style scoped> .marquee-container { width: fit-content; } .el-carousel__item { line-height: 50px; text-align: center; } </style> ``` 此方法利用了垂直方向上的自动切换特性模拟出了单行或多行文本连续移动的感觉。 #### Vant 中的 NoticeBar 组件 Vant是由有赞前端团队开源的一套轻量、可靠的移动端Vue组件库,其内置了一个专门用于展示通知公告或跑马灯信息的 `NoticeBar` 组件[^2]: ```html <van-notice-bar mode="closeable" scrollable background-color="#fffaf9" color="#f44" left-icon="volume-o">这是一条不会停止的消息提示。</van-notice-bar> ``` 该组件不仅能够轻松创建水平滚动的文字流,还允许用户通过配置参数来自由调整显示模式(如是否可关闭)、背景色以及字体颜色等属性,非常适合用来构建具有视觉吸引力的通知栏。 除了上述两个流行的框架外,还有其他一些专注于特定场景下的插件也可能符合个人项目的特殊要求。建议根据实际应用场景和个人偏好挑选最适合自己的工具集。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值