国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

小程序篩選

awokezhou / 1117人閱讀

摘要:預覽實現過程中添加取消確認籃球鞋時尚籃球鞋運動鞋板鞋跑步鞋品牌阿迪達斯耐克皮爾卡丹尺碼搜索關鍵詞上個頁面傳遞搜索關鍵詞數組,目前在里設置搜索關鍵詞獲取搜索選項異步請求

預覽

實現過程

app.json中添加

"pages": [
    "pages/filter/index"
  ],

filter/index.wxml


  
    
      {{p.screenKey}}
      
        
          {{g.value}}
        
      
    
  
  
    取消
    確認
  

filter/index.wxss

.container {
    padding: 0 0 15px 15px;
    background: #fff;
    min-height: 100vh;
}

.search-title {
    padding: 19px 0;
    font-size: 16px;
    font-weight: 600;
}

.search-items {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
}

.search-items .item {
    min-width: 60px;
    box-sizing: border-box;
    padding: 0 15px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    font-weight: 500;
    border-radius: 3px;
    margin: 0 20px 15px 0;
    font-size: 14px;
    background: #f3f3f6;
}

.search-items .item.active {
    background: #ff5000;
    color: #fff;
}

.search-bottom {
    position: fixed;
    bottom: 0;
    left: 0;
    height: 50px;
    line-height: 50px;
    width: 100%;
    display: flex;
    justify-content: center;
    width: 100%;
    font-weight: 600;
    font-size: 17px;
    text-align: center;
}

.search-bottom .cancel {
    background: #ececf0;
    color: #8D8D96;
    flex: 1;
}

.search-bottom .confirm {
    background: #FF5000;
    color: #fff;
    flex: 1;
}

filter/index.js

const App = getApp()
Page({
  data: {
    specialId: "",
    query: ["籃球鞋","36"], 
    searchList: [
      {
        type: "radio",
        screenKey: "時尚",
        screenValue: ["籃球鞋", "運動鞋", "板鞋", "跑步鞋"]
      },
      {
        type: "radio",
        screenKey: "品牌",
        screenValue: ["阿迪達斯", "耐克", "皮爾卡丹"]
      },
      {
        type: "checkbox",
        screenKey: "尺碼",
        screenValue: [
          "36",
          "36.5",
          "37",
          "37.5",
          "38",
          "38.5",
          "39",
          "39.5",
          "40",
          "40.5",
          "41",
          "41.5",
          "42",
          "42.5",
          "43",
          "43.5"
        ]
      }
    ] // 搜索關鍵詞
  },
  onLoad: function(options) {
    console.log(options)
    // 上個頁面傳遞搜索關鍵詞數組,目前在data里query設置
    // this.data.query = options.query
    // 搜索關鍵詞
    this.getSearchItems()
  },
  // 獲取搜索選項
  getSearchItems() {
    const _this = this
    // 異步請求數據后處理,這里直接拿假數據
    const searchItems = this.data.searchList.map(n => {
      return Object.assign({}, n, {
        screenValue: n.screenValue.map(m =>
          Object.assign(
            {},
            {
              checked: _this.data.query.includes(m), // 回顯query里有返回true
              value: m
            }
          )
        )
      })
    })
    this.setData({
      searchList: searchItems
    })
  },
 // 點擊篩選項
  onChange(e) {
    const { parentIndex, item, index } = e.currentTarget.dataset
    // 如果選中狀態
    if (item.screenValue[index].checked) {
      item.screenValue[index].checked = false // 取消選擇
    } else {
      // 如果不是多選
      if (item.type != "checkbox") {
        // 全部重置為未選擇狀態
        item.screenValue.map(n => (n.checked = false))
      }
      // 將點擊的設置為選中
      item.screenValue[index].checked = true
    }
    this.setData({
      [`searchList[${parentIndex}]`]: item
    })
  },
  // 取消,清空數據返回上一個頁面
  doCancel() {
    // var pages = getCurrentPages() // 獲取頁面棧
    // var prevPage = pages[pages.length - 2] // 前一個頁面
    // prevPage.setData({
    //   query: [], // 重置
    //   isBack: true
    // })
    // // 返回登錄之前的頁面
    // wx.navigateBack({
    //   delta: 1
    // })
  },
  // 提交,攜帶數據返回上一個頁面
  doSubmit() {
    let selected = []
    // 獲取所有選中
    this.data.searchList.map(n => {
      n.screenValue.map(m => {
        if (m.checked == true) {
          selected.push(m.value)
        }
      })
    })
    console.log(selected)
    // var pages = getCurrentPages() // 獲取頁面棧
    // var prevPage = pages[pages.length - 2] // 前一個頁面
    // // 攜帶數據,返回登錄之前的頁面
    // prevPage.setData({
    //   query: selected,
    //   isBack: true
    // })
    // wx.navigateBack({
    //   delta: 1
    // })
  }
})
總結

領導要求寫在新的頁面,就沒有在頁面寫組件,后續如果再改寫成組件,實現的過程相對簡單,有什么問題可以留言交流
完整代碼鏈接github

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/100814.html

相關文章

  • 數據庫里的知識??

    DQL 查詢 1. 查詢所有得字段 select * from 表名 2.查詢指定字段 select 字段1,字段2....from 表名 - 給字段起別名 select 字段1 as 別名,字段2... from 表名 - 注意點: 關于起別名得問題,a...

    陳江龍 評論0 收藏0
  • 程序大轉盤紅包雨營銷組件

    前言 商城沒幾個營銷活動能叫商城嗎?所以就來幾個組件吧,寫的不好輕踩,對你有幫助記得給個小星星哦直接上鏈接github鏈接 線上體驗 showImg(https://segmentfault.com/img/bVbwgDc?w=389&h=306); 運行例子 git clone https://github.com/sunnie1992/soul-weapp.git 微信開發者工具打開項目 營銷...

    senntyou 評論0 收藏0

發表評論

0條評論

awokezhou

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<