index.js 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. let App = getApp();
  2. Page({
  3. /**
  4. * 页面的初始数据
  5. */
  6. data: {
  7. recentSearch: [],
  8. searchValue: '',
  9. },
  10. /**
  11. * 生命周期函数--监听页面加载
  12. */
  13. onLoad: function(options) {
  14. },
  15. /**
  16. * 生命周期函数--监听页面显示
  17. */
  18. onShow: function() {
  19. // 获取历史搜索
  20. this.getRecentSearch();
  21. },
  22. /**
  23. * 获取历史搜索
  24. */
  25. getRecentSearch: function() {
  26. let recentSearch = wx.getStorageSync('recentSearch');
  27. this.setData({
  28. recentSearch
  29. });
  30. },
  31. /**
  32. * 绑定输入值
  33. */
  34. getSearchContent: function(e) {
  35. this.data.searchValue = e.detail.value;
  36. },
  37. /**
  38. * 搜索提交
  39. */
  40. search: function() {
  41. if (this.data.searchValue) {
  42. // 记录最近搜索
  43. let recentSearch = wx.getStorageSync('recentSearch') || [];
  44. let index = recentSearch.indexOf(this.data.searchValue);
  45. index > -1 && recentSearch.splice(index, 1);
  46. recentSearch.unshift(this.data.searchValue);
  47. wx.setStorageSync('recentSearch', recentSearch)
  48. // 跳转到商品列表页
  49. wx.navigateTo({
  50. url: '../category/list?search=' + this.data.searchValue,
  51. })
  52. }
  53. },
  54. /**
  55. * 清空最近搜索记录
  56. */
  57. clearSearch: function() {
  58. wx.removeStorageSync('recentSearch');
  59. this.getRecentSearch();
  60. },
  61. /**
  62. * 跳转到最近搜索
  63. */
  64. goSearch: function(e) {
  65. wx.navigateTo({
  66. url: '../category/list?search=' + e.target.dataset.text,
  67. })
  68. },
  69. })