摘要:預(yù)覽實(shí)現(xiàn)過程中添加取消確認(rèn)籃球鞋時(shí)尚籃球鞋運(yùn)動(dòng)鞋板鞋跑步鞋品牌阿迪達(dá)斯耐克皮爾卡丹尺碼搜索關(guān)鍵詞上個(gè)頁面?zhèn)鬟f搜索關(guān)鍵詞數(shù)組,目前在里設(shè)置搜索關(guān)鍵詞獲取搜索選項(xiàng)異步請(qǐng)求
預(yù)覽 實(shí)現(xiàn)過程
app.json中添加
"pages": [ "pages/filter/index" ],
filter/index.wxml
{{p.screenKey}} {{g.value}} 取消 確認(rèn)
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: "時(shí)尚", screenValue: ["籃球鞋", "運(yùn)動(dòng)鞋", "板鞋", "跑步鞋"] }, { type: "radio", screenKey: "品牌", screenValue: ["阿迪達(dá)斯", "耐克", "皮爾卡丹"] }, { 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" ] } ] // 搜索關(guān)鍵詞 }, onLoad: function(options) { console.log(options) // 上個(gè)頁面?zhèn)鬟f搜索關(guān)鍵詞數(shù)組,目前在data里query設(shè)置 // this.data.query = options.query // 搜索關(guān)鍵詞 this.getSearchItems() }, // 獲取搜索選項(xiàng) getSearchItems() { const _this = this // 異步請(qǐng)求數(shù)據(jù)后處理,這里直接拿假數(shù)據(jù) 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 }) }, // 點(diǎn)擊篩選項(xiàng) onChange(e) { const { parentIndex, item, index } = e.currentTarget.dataset // 如果選中狀態(tài) if (item.screenValue[index].checked) { item.screenValue[index].checked = false // 取消選擇 } else { // 如果不是多選 if (item.type != "checkbox") { // 全部重置為未選擇狀態(tài) item.screenValue.map(n => (n.checked = false)) } // 將點(diǎn)擊的設(shè)置為選中 item.screenValue[index].checked = true } this.setData({ [`searchList[${parentIndex}]`]: item }) }, // 取消,清空數(shù)據(jù)返回上一個(gè)頁面 doCancel() { // var pages = getCurrentPages() // 獲取頁面棧 // var prevPage = pages[pages.length - 2] // 前一個(gè)頁面 // prevPage.setData({ // query: [], // 重置 // isBack: true // }) // // 返回登錄之前的頁面 // wx.navigateBack({ // delta: 1 // }) }, // 提交,攜帶數(shù)據(jù)返回上一個(gè)頁面 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] // 前一個(gè)頁面 // // 攜帶數(shù)據(jù),返回登錄之前的頁面 // prevPage.setData({ // query: selected, // isBack: true // }) // wx.navigateBack({ // delta: 1 // }) } })總結(jié)
領(lǐng)導(dǎo)要求寫在新的頁面,就沒有在頁面寫組件,后續(xù)如果再改寫成組件,實(shí)現(xiàn)的過程相對(duì)簡(jiǎn)單,有什么問題可以留言交流
完整代碼鏈接github
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/100814.html
DQL 查詢 1. 查詢所有得字段 select * from 表名 2.查詢指定字段 select 字段1,字段2....from 表名 - 給字段起別名 select 字段1 as 別名,字段2... from 表名 - 注意點(diǎn): 關(guān)于起別名得問題,a...
前言 商城沒幾個(gè)營(yíng)銷活動(dòng)能叫商城嗎?所以就來幾個(gè)組件吧,寫的不好輕踩,對(duì)你有幫助記得給個(gè)小星星哦直接上鏈接github鏈接 線上體驗(yàn) showImg(https://segmentfault.com/img/bVbwgDc?w=389&h=306); 運(yùn)行例子 git clone https://github.com/sunnie1992/soul-weapp.git 微信開發(fā)者工具打開項(xiàng)目 營(yíng)銷...
閱讀 890·2021-10-25 09:44
閱讀 1260·2021-09-23 11:56
閱讀 1183·2021-09-10 10:50
閱讀 3130·2019-08-30 15:53
閱讀 2132·2019-08-30 13:17
閱讀 616·2019-08-29 18:43
閱讀 2490·2019-08-29 12:57
閱讀 854·2019-08-26 12:20