zoukankan      html  css  js  c++  java
  • (三)微信小程序首页的分类功能和搜索功能的实现笔记

    就在昨天,微信宣布了微信小程序开发者工具新增“云开发”功能

    下载最新的开发者工具,现在无需服务器即可实现小程序的快速迭代!

    分类功能和搜索功能的效果图

    1.首页分类功能的实现

    boxtwo方法(.js文件)

    boxtwo: function (e) {
        var index = parseInt(e.currentTarget.dataset.index)
        this.setData({
          HomeIndex: index
        })
      },

    当在首页点击 分类导航时,会触发这个方法,并传回当前点击时的index值。

    这个方法实现的是将.wxml文件传来的index值赋给HomeIndex。

    class="boxtwo-tab-nav {{HomeIndex == 0 ?'on':''}}"

    .wxss样式文件
    .boxtwo-tab-nav{
    display: inline-block;
     20%;
    height: 90rpx;
    line-height: 90rpx;
    border-bottom: 1rpx solid #ededed;
    box-sizing: border-box;
    text-align: center;
    color: black;
    font-size: 30rpx
    }

    这样就实现了首页 当前点击的分类 呈现出 被选中的样式。

    然后在视图层根据HomeIndex的不同,加载对应的数据。
    <view wx:if="{{HomeIndex == 1}}" >
        <block wx:for="{{shareList}}" wx:key="*this">
      <navigator url='../../pages/shareDetail/shareDetail?id={{item.id}}' hover-class="navigator-hover">
          <view class='imgs'>
            <image src="{{item.img}}"  background-size="cover" mode="scaleToFill"></image>
          </view>
          <view class='infos'>
            <view class="title">{{item.title}}</view>
            <view class="date">{{item.cTime}}</view>
          </view>
        </navigator>
    </block>
      </view>
    <navigator></navigator>组件实现的是点击当前文章时传出id到详情页面(detail)。这样就把首页的文章列表和文章的详情页面一一对应起来了。
    detail.js文件
    onLoad: function (options) {
       var that = this
        wx.request({
          url: 'http://localhost:81/weicms/index.php?s=/addon/School/School/getDetail',
          data: {id:options.id},
          header: {
            'content-type': 'application/json'
          },
          success: function (res) {
            wx.setStorage({
              key: 'info',
              data: res.data,
            })
            that.setData({
              info: res.data
            })
          }
        })
      
      }

    2.搜索功能的实现

    .wxml文件

    <view class='search-view'>
        <input class='input' confirm-type="search" maxlength="30" bindinput='wxSearchInput' value='{{keyword}}' bindconfirm='wxSearchFn' bindfocus="wxSerchFocus" bindblur="wxSearchBlur" placeholder='请输入搜索内容'></input>
        <button class='search' bindtap="wxSearchFn" hover-class='button-hover'>搜索</button>
    </view>

    JavaScript indexOf() 方法

       indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

    key为搜索的关键字,res.data[i].title为首页列表的标题。使用indexOf()方法时,
    当满足了(res.data[i].title.indexOf(key) >= 0)说明输入的关键字在文章列表中
    也有相同的关键字,然后arr.push(res.data[i]),这样就把筛选出来的文章放在了临时数组arr中了
    //搜索方法 key为用户输入的查询字段
      search: function (key) {
        /*console.log('搜索函数触发')*/
        var that = this;
        var newsList = wx.getStorage({
          key: 'newsList',
          success: function (res) {//从storage中取出存储的数据*/
          /*console.log(res)*/
            if (key == '') {//用户没有输入 全部显示
              that.setData({
                newsList: res.data
              })
              return;
            }
            var arr = [];//临时数组 用于存放匹配到的数据
            for (let i in res.data) {
              if (res.data[i].title.indexOf(key) >= 0) {//查找
                arr.push(res.data[i])
              }
            }
            if (arr.length == 0) {
              that.setData({
                newsList:[]
              })
             
            } else {
              that.setData({
                newsList: arr//在页面显示找到的数据
              })
            }
    
          }
        })
        }

    //搜素时触发,调用search: function (key),传入输入的e.detail.value值
    wxSearchInput: function (e) {
    this.search(e.detail.value);

    }
  • 相关阅读:
    Treap 树堆 容易实现的平衡树
    (转)Maven实战(二)构建简单Maven项目
    (转)Maven实战(一)安装与配置
    根据请求头跳转判断Android&iOS
    (转)苹果消息推送服务器 php 证书生成
    (转)How to renew your Apple Push Notification Push SSL Certificate
    (转)How to build an Apple Push Notification provider server (tutorial)
    (转)pem, cer, p12 and the pains of iOS Push Notifications encryption
    (转)Apple Push Notification Services in iOS 6 Tutorial: Part 2/2
    (转)Apple Push Notification Services in iOS 6 Tutorial: Part 1/2
  • 原文地址:https://www.cnblogs.com/colintz/p/9628873.html
Copyright © 2011-2022 走看看