当前位置:首页 > uni-app

uniapp 内容列表

2026-03-04 23:38:10uni-app

uniapp 内容列表的实现方法

uniapp 中实现内容列表通常使用 scroll-viewlist 组件,结合数据绑定和样式调整来展示内容。

使用 scroll-view 实现基础列表

<scroll-view scroll-y="true" style="height: 100vh;">
  <view v-for="(item, index) in listData" :key="index" class="list-item">
    {{ item.title }}
  </view>
</scroll-view>

数据绑定与样式示例

export default {
  data() {
    return {
      listData: [
        { title: '项目1' },
        { title: '项目2' }
      ]
    }
  }
}
.list-item {
  padding: 20rpx;
  border-bottom: 1rpx solid #eee;
}

实现下拉刷新和上拉加载

uniapp 提供 onPullDownRefreshonReachBottom 生命周期函数实现刷新和加载功能。

页面配置

{
  "enablePullDownRefresh": true,
  "onReachBottomDistance": 50
}

逻辑实现

export default {
  onPullDownRefresh() {
    // 刷新数据
    setTimeout(() => {
      uni.stopPullDownRefresh()
    }, 1000)
  },
  onReachBottom() {
    // 加载更多数据
  }
}

优化列表性能

对于长列表,建议使用 uni-list 组件或实现虚拟列表。

虚拟列表实现

<scroll-view 
  scroll-y 
  :scroll-top="scrollTop"
  @scroll="handleScroll">
  <view :style="{ height: totalHeight + 'px' }">
    <view 
      v-for="item in visibleData" 
      :key="item.id"
      :style="{ transform: `translateY(${item.offset}px)` }">
      {{ item.content }}
    </view>
  </view>
</scroll-view>

列表项点击事件处理

为列表项添加点击事件和动画效果提升用户体验。

点击事件示例

<view 
  v-for="item in listData" 
  :key="item.id"
  @click="handleItemClick(item)"
  :class="['list-item', { 'active': activeId === item.id }]">
  {{ item.title }}
</view>

动画效果实现

.list-item {
  transition: all 0.3s;
}
.list-item.active {
  background-color: #f5f5f5;
}

列表数据过滤与搜索

实现搜索功能可以结合计算属性和过滤器。

搜索功能实现

computed: {
  filteredList() {
    return this.listData.filter(item => 
      item.title.includes(this.searchText)
    )
  }
}

模板中使用

<input v-model="searchText" placeholder="搜索..." />
<view v-for="item in filteredList" :key="item.id">
  {{ item.title }}
</view>

uniapp 内容列表

标签: 内容列表
分享给朋友:

相关文章

vue实现检索内容标记

vue实现检索内容标记

实现检索内容高亮标记的方法 在Vue中实现检索内容的高亮标记,可以通过以下步骤完成: 使用自定义指令或过滤器 创建一个自定义指令或过滤器,用于将匹配的文本包裹在带有高亮样式的标签中。例如:…

jquery 列表

jquery 列表

jQuery 列表操作 jQuery 提供了多种方法来操作 HTML 列表(如 <ul> 或 <ol>)。以下是一些常见的操作方式: 动态添加列表项 使用 append()…

vue实现奇偶列表

vue实现奇偶列表

Vue实现奇偶列表样式 在Vue中实现列表项的奇偶不同样式,可以通过多种方式实现。以下是几种常见方法: 使用v-for和动态class绑定 通过v-for循环生成列表时,利用索引值判断奇偶性并绑定…

vue实现内容轮播

vue实现内容轮播

使用 Vue 实现内容轮播 基础轮播实现 安装依赖(如使用第三方库) 若选择 vue-awesome-swiper,通过以下命令安装: npm install swiper vue-awesom…

vue实现列表分页

vue实现列表分页

Vue 列表分页实现方法 基础分页实现 安装依赖(如使用第三方库) npm install vue-paginate 模板部分示例 <template> <div>…

vue列表怎么实现

vue列表怎么实现

Vue 列表实现方法 使用 v-for 指令 Vue 中列表渲染主要通过 v-for 指令实现,可以遍历数组或对象。 <template> <ul> <l…