小程序开发中的数据筛选和搜索功能页面

微信   2024-12-26 17:14   82   0  

33324_8lva_4073.png

数据筛选页面:

数据筛选功能可以让用户按照某些条件对数据进行筛选,并展示满足条件的数据列表。下面是一个简单的案例,假设我们有一个商品列表,每个商品都有名称、价格、类型等属性。用户可以通过选择价格区间和类型来筛选商品。

首先,我们需要在小程序的页面中创建一个筛选的表单,包括价格区间选择和类型选择。在 wxml 文件中,可以添加以下代码:

<view class="filter">
  <view class="filter-row">
    <picker mode="selector" range="{{priceRange}}" bindchange="onPriceChange">
      <view>{{selectedPrice}}</view>
    </picker>
  </view>
  <view class="filter-row">
    <picker mode="selector" range="{{typeList}}" bindchange="onTypeChange">
      <view>{{selectedType}}</view>
    </picker>
  </view>
</view>

其中,priceRange 是一个价格区间的数组,typeList 是一个商品类型的数组。selectedPrice 和 selectedType 是绑定到选择结果的变量。

然后,在小程序的页面的 js 文件中,我们需要定义相应的函数来处理筛选条件的变化。以下是相应的代码:

Page({
  data: {
    priceRange: ['全部', '0-50', '50-100', '100-200'],
    selectedPrice: '全部',
    typeList: ['全部', '电子产品', '家居用品', '服装'],
    selectedType: '全部',
    productList: [] // 商品列表数据
  },
  
  onPriceChange: function (e) {
    var index = e.detail.value;
    var priceRange = this.data.priceRange;
    var selectedPrice = priceRange[index];
    this.setData({
      selectedPrice: selectedPrice
    });
    // 根据变化的筛选条件重新获取商品列表数据
    this.getProductList();
  },
 
  onTypeChange: function (e) {
    var index = e.detail.value;
    var typeList = this.data.typeList;
    var selectedType = typeList[index];
    this.setData({
      selectedType: selectedType
    });
    // 根据变化的筛选条件重新获取商品列表数据
    this.getProductList();
  },
 
  getProductList: function () {
    var selectedPrice = this.data.selectedPrice;
    var selectedType = this.data.selectedType;
    // 发起请求,获取满足筛选条件的商品列表数据
    // 这里可以调用后端的接口来获取数据,也可以在前端通过条件判断来筛选数据
    // ...
    // 将获取到的商品列表数据更新到页面中
    this.setData({
      productList: productList
    });
  }
});

在 getProductList 函数中,我们可以发起请求,获取满足筛选条件的商品列表数据。在这个函数中,你可以调用后端的接口来获取数据。如果你的商品数据是在前端,你也可以在这个函数中通过条件判断来筛选数据。

最后,我们需要在页面中展示满足条件的商品列表。在 wxml 文件中,我们可以添加以下代码:

<view class="product-list">
  <view wx:for="{{productList}}">
    <view class="product-item">
      <!-- 展示商品信息 -->
    </view>
  </view>
</view>

这样,当用户选择筛选条件变化时,getProductList 函数将被调用,满足条件的商品列表将被展示出来。


搜索功能页面:

搜索功能可以让用户根据关键字搜索相关的数据。下面是一个简单的案例,假设我们有一个商品列表,用户可以通过输入关键字来搜索相关的商品。

首先,在小程序的页面中创建一个搜索的输入框。在 wxml 文件中,可以添加以下代码:

<view class="search">
  <input type="text" bindinput="onSearchInput" placeholder="请输入关键字">
</view>

然后,在小程序的页面的 js 文件中,我们需要定义相应的函数来处理搜索关键字的变化。以下是相应的代码:

Page({
  data: {
    keyword: '',
    productList: [] // 商品列表数据
  },
 
  onSearchInput: function (e) {
    var keyword = e.detail.value;
    this.setData({
      keyword: keyword
    });
    // 根据关键字重新获取商品列表数据
    this.getProductList();
  },
 
  getProductList: function () {
    var keyword = this.data.keyword;
    // 发起请求,获取满足搜索关键字的商品列表数据
    // 这里可以调用后端的接口来获取数据,也可以在前端通过条件判断来筛选数据
    // ...
    // 将获取到的商品列表数据更新到页面中
    this.setData({
      productList: productList
    });
  }
});

在 getProductList 函数中,我们可以发起请求,获取满足搜索关键字的商品列表数据。同样,你可以调用后端的接口来获取数据,或者在前端通过条件判断来筛选数据。

最后,我们也需要在页面中展示满足搜索关键字的商品列表。在 wxml 文件中,我们可以添加以下代码:

<view class="product-list">
  <view wx:for="{{productList}}">
    <view class="product-item">
      <!-- 展示商品信息 -->
    </view>
  </view>
</view>

这样,当用户输入搜索关键字时,getProductList 函数将被调用,满足搜索关键字的商品列表将被展示出来。

链接:https://blog.csdn.net/qq_67153941/article/details/138638724


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。