微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)

下面是 "微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)" 的完整攻略:

1. 制作搜索框样式

首先,在小程序页面的wxml文件中,可以添加一个input标签,来实现搜索框的样式。一般情况下,搜索框的样式包含一个输入框和一个搜索按钮,可以像下面这样定义:

<view class="search-box">
  <input placeholder="输入关键字搜索" bindconfirm="search" />
  <button bindtap="search"><image src="/images/search.png"/></button>
</view>

其中,search属性绑定的是当用户点击搜索按钮时触发的事件处理函数,属性值为search;bindconfirm属性则绑定的是当用户点击键盘上的完成按钮时触发的事件处理函数,属性值为search。这两个属性都可以绑定同一个事件处理函数,实现同样的效果。

在样式文件中,可以定义search-box样式名:

.search-box{
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px;
  border-radius: 5px;
  background: #e0e0e0;
  height: 50rpx;
}

.search-box input{
  flex: 1;
  font-size: 28rpx;
  padding-left: 10rpx;
  border: none;
  outline: none;
}

.search-box button{
  width: 80rpx;
  height: 50rpx;
  border: none;
  background: none;
}

2. 跳转到搜索结果页面

在完成搜索框的样式后,就需要实现跳转功能,将用户输入的关键字发送到后台进行搜索,并将搜索结果展示给用户。这里我们可以利用小程序提供的页面跳转API:navigateTo。

在事件处理函数search中,可以获取用户输入的关键字,然后将关键字作为参数传递给搜索结果页面searchResult。示例如下:

search: function(e){
  let keyword = e.detail.value;
  wx.navigateTo({
    url: '/pages/searchResult/searchResult?keyword=' + keyword,
  })
}

其中,通过e.detail.value可以获取到用户输入的关键字。在跳转页面时,将关键字作为url参数传递给searchResult页面。

3. 在搜索结果页面展示搜索结果

在searchResult页面中,需要获取到用户传递过来的关键字,并调用后台API进行搜索,将搜索结果展示给用户。

Page({
  data: {
    keyword: '',
    searchResult: [],
  },

  onLoad: function(options) {
    // 获取用户输入的关键字
    this.setData({
      keyword: options.keyword,
    })
    // 调用搜索API,并将搜索结果存储到searchResult中
    wx.request({
      url: 'http://localhost:3000/search',
      method: 'GET',
      data:{
        keyword: options.keyword,
      },
      success: (res)=> {
        this.setData({
          searchResult: res.data,
        })
      },
      fail: (err)=> {
        console.log(err);
      }
    })
  },

})

在onLoad函数中,首先获取用户传递的关键字,然后调用相关的后台API进行搜索,并将结果存储到data中的searchResult中。在searchResult页面中使用wx:for标签遍历searchResult,将搜索结果展示给用户即可。

通过以上代码实现,用户可以输入关键字进行搜索,跳转到关键字对应的搜索结果页面,并查看搜索结果。

示例代码见 searchDemo

4. 搜索框样式示例

在这里,我提供两种不同的搜索框样式,供大家参考。

样式一: 带清空按钮的搜索框

<view class="search-input-box">
  <image src="/images/search.png" class="search-icon"></image>
  <input class="search-input" placeholder="请输入搜索内容" bindinput="onInput" value="{{keyword}}" placeholder-style="color:#999;"></input>
  <image wx:if="{{keyword}}" src="/images/cancel.png" class="cancel-icon" bindtap="clearInput"></image>
  <button class="search-btn" bindtap="clickSearch">搜索</button>
</view>

样式二: 带搜索框动画的搜索框

<view class="search-box" bindtap="onSearchBoxClick">
  <image src="/images/search.png" class="search-icon"></image>
  <view class="search-input-box">
    <input class="search-input" placeholder="请输入搜索内容" bindinput="onInput" value="{{keyword}}" placeholder-style="color:#999;"></input>
    <image wx:if="{{keyword}}" src="/images/cancel.png" class="cancel-icon" bindtap="clearInput"></image>
  </view>
</view>

以上是 "微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)" 的详细攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能) - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】

    PHP中soap用法示例【SoapServer服务端与SoapClient客户端编写】 什么是SOAP SOAP(Simple Object Access Protocol),是一种基于XML的协议,用于Web服务中的通信。它是一种轻量级的数据交换格式,依赖于HTTP协议进行通信,同时可以使用多种其他协议来提供传输服务。 SOAP是一种简单、轻量级的网络传输…

    PHP 2023年5月26日
    00
  • php function用法如何递归及return和echo区别

    请先了解一下递归的概念:递归是指在一个函数中调用自身的函数。使用递归可以将问题分解为更小的问题,使得问题的解决变得更加简单。下面我们将结合 PHP function 讲解如何使用递归及 return 和 echo 的区别。 一、什么是 PHP Function 递归? 函数递归是指函数通过调用自身来解决问题的一种技术。 PHP Function 递归通常用于…

    PHP 2023年5月28日
    00
  • 微信小程序个人怎么注册?微信小程序个人开发者注册教程

    微信小程序个人开发者注册教程 1. 前提条件 在注册微信小程序个人开发者账号之前,需要满足以下前提条件: 手机号码已经实名认证过; 完成实名认证后,还需要申请成为微信公众平台的认证服务号或媒体号才能注册小程序个人开发者账号; 2. 注册流程 2.1 登录微信公众平台 进入微信公众平台官网,输入账号和密码,登录微信公众平台。 2.2 准备认证材料 在开始申请微…

    PHP 2023年5月30日
    00
  • php生成器详细讲解

    以下是关于“PHP生成器详细讲解”的完整使用攻略: 基础知识 在了解PHP生成器之前,需要掌握一些基础知识,包括生成器的基本概念、生成器的应用场景、生成器的优缺点等。以下是一些常见的基础知识: 生成器的基本概念,包括生成器的定义、生成器特点等。 生成器的应用场景,包括生成器的常见应用场景、生成器的优势等。 生成器的优缺点,包括生成器的优点、生成器的缺点等。 …

    PHP 2023年5月12日
    00
  • php 转换字符串编码 iconv与mb_convert_encoding的区别说明

    关于“php 转换字符串编码 iconv 与 mb_convert_encoding 的区别说明”的完整攻略,下面是详细的标准markdown格式文本: PHP 转换字符串编码的攻略 在 PHP 中,转换字符串编码是非常常见的任务之一。在这个任务中,我们可以使用两个主要的函数:iconv 和 mb_convert_encoding。 iconv 函数 ico…

    PHP 2023年5月26日
    00
  • 微信小程序getPhoneNumber获取用户手机号

    下面我将详细讲解“微信小程序getPhoneNumber获取用户手机号”的完整攻略。 1. 获取用户手机号的前提条件 在使用getPhoneNumber获取用户手机号之前,必须满足以下条件: 该用户已经授权过小程序获取用户手机号; 开启了“获取用户手机号”权限; 正在使用微信运行的环境; 用户允许小程序使用手机号码。 2. 如何获取用户手机号 获取用户手机号…

    PHP 2023年5月30日
    00
  • php文件压缩之PHPZip类用法实例

    对于“php文件压缩之PHPZip类用法实例”的完整攻略,我将按照以下的内容来阐述:1. 功能简介2. 环境要求3. 安装方法4. 应用示例5. 总结 1. 功能简介 PHPZip是一个PHP类库,可以用于在PHP程序中压缩和解压zip格式的文件。PHPZip通过简单易用的API,为开发人员提供了完善的压缩和解压支持。 2. 环境要求 要使用PHPZip对z…

    PHP 2023年5月26日
    00
  • PHP实现数组array转换成xml的方法

    PHP可以通过SimpleXMLElement类来实现将数组转换为XML的操作,步骤如下: 创建一个SimpleXMLElement对象。 $xml = new SimpleXMLElement(‘<?xml version="1.0" encoding="UTF-8"?><root></…

    PHP 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部