当前位置:首页 > uni-app

uniapp搜索框组件

2026-02-06 09:36:31uni-app

Uniapp 搜索框组件实现方法

在 Uniapp 中实现搜索框功能,可以通过原生组件或第三方插件完成。以下是几种常见实现方式:

使用 uni-ui 的 SearchBar 组件

安装 uni-ui 后直接引入 SearchBar 组件:

<template>
  <uni-search-bar @confirm="search" @input="input" :radius="100" cancelButton="none">
  </uni-search-bar>
</template>

<script>
import uniSearchBar from '@dcloudio/uni-ui/lib/uni-search-bar/uni-search-bar.vue'
export default {
  components: {uniSearchBar},
  methods: {
    search(e) {
      console.log('搜索内容:', e.value)
    },
    input(e) {
      console.log('输入内容:', e.value)
    }
  }
}
</script>

自定义搜索框组件

uniapp搜索框组件

通过 view 和 input 组合实现:

<template>
  <view class="search-box">
    <input 
      class="search-input" 
      placeholder="请输入搜索内容" 
      v-model="keyword"
      @confirm="handleSearch"
      @input="handleInput"
    />
    <text class="search-icon">🔍</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      keyword: ''
    }
  },
  methods: {
    handleSearch() {
      uni.navigateTo({
        url: '/pages/search/result?keyword=' + this.keyword
      })
    },
    handleInput(e) {
      this.keyword = e.detail.value
    }
  }
}
</script>

<style>
.search-box {
  display: flex;
  align-items: center;
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-radius: 20px;
}
.search-input {
  flex: 1;
  height: 30px;
  font-size: 14px;
}
.search-icon {
  margin-left: 10px;
  font-size: 16px;
}
</style>

使用第三方插件

uniapp搜索框组件

  1. 安装 colorui 组件库:

    npm install colorui
  2. 使用 cu-custom 搜索组件:

    <template>
    <cu-custom bgColor="bg-gradual-blue" :isBack="true">
     <view slot="content">搜索框</view>
     <view slot="right">
       <view class="action">
         <view class="cu-load load-cuIcon" :class="!isLoad?'loading':'over'"></view>
       </view>
     </view>
    </cu-custom>
    </template>

注意事项

  • 搜索框样式需要根据项目需求调整
  • 移动端注意输入法弹出时的布局适配
  • 防抖处理可以减少频繁请求
  • 搜索历史记录建议使用本地存储

以上方法均可实现 Uniapp 搜索框功能,选择取决于项目复杂度和个性化需求。uni-ui 的 SearchBar 提供开箱即用的解决方案,自定义组件则更灵活可控。

标签: 组件uniapp
分享给朋友:

相关文章

uniapp模板库

uniapp模板库

uniapp模板库推荐 官方模板库 uni-app官方提供多个模板,涵盖电商、社交、新闻等多个领域。这些模板可直接在HBuilderX中通过新建项目选择,包含基础结构和常用功能模块,适合快速启动项目。…

uniapp视频

uniapp视频

uniapp视频开发基础 uniapp支持通过video组件实现视频播放功能,该组件兼容多端(H5、小程序、App等),基本用法如下: <template> <video…

uniapp打包

uniapp打包

uniapp打包步骤 H5平台打包 在项目根目录运行以下命令生成H5资源文件: npm run build:h5 打包完成后,文件默认输出到/dist/build/h5目录,可直接部署到Web服务器…

uniapp切片

uniapp切片

uniapp 切片实现方法 在 uniapp 中实现切片功能通常指的是对图片或数据进行分割处理。以下是几种常见的切片实现方式: 图片切片展示 通过 CSS 和 JavaScript 实现图片的网格化…

uniapp实现懒加载

uniapp实现懒加载

uniapp实现懒加载的方法 在uniapp中实现懒加载可以通过多种方式,以下是几种常见的方法: 使用uni.lazyLoad组件 uniapp提供了内置的懒加载组件,适用于图片等资源的懒加载。在页…

任务 uniapp

任务 uniapp

uniapp 简介 Uniapp 是一款基于 Vue.js 的跨平台开发框架,支持一次开发,多端发布(如微信小程序、H5、App、快应用等)。其核心优势在于代码复用率高,开发者可以通过一套代码适配多个…