数据筛选页面:
数据筛选功能可以让用户按照某些条件对数据进行筛选,并展示满足条件的数据列表。下面是一个简单的案例,假设我们有一个商品列表,每个商品都有名称、价格、类型等属性。用户可以通过选择价格区间和类型来筛选商品。
首先,我们需要在小程序的页面中创建一个筛选的表单,包括价格区间选择和类型选择。在 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