select-form.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. // components/select-form/select-form.js
  2. const app = getApp();
  3. Component({
  4. /**
  5. * 页面的初始数据
  6. */
  7. properties:{
  8. selectType:{
  9. type: String,
  10. value: 'regions',
  11. },
  12. formselects:{
  13. type:JSON,
  14. value:{},
  15. observer: function (newVal, oldVal, changedPath) {
  16. // 属性被改变时执行的函数(可选),也可以写成在methods段中定义的方法名字符串
  17. // 通常 newVal 就是新设置的数据, oldVal 是旧数据
  18. this.setData({
  19. formselects:newVal
  20. })
  21. },
  22. },
  23. clearfilters: {
  24. type:Boolean,
  25. value:false,
  26. observer: function (newVal, oldVal, changedPath) {
  27. this.setData({
  28. filters:{},
  29. })
  30. },
  31. },
  32. lastConditions:{
  33. type:Object,
  34. value: {},
  35. }
  36. },
  37. data: {
  38. show_regions:true,
  39. ActiveColor:true,
  40. price:0,
  41. start: 0,
  42. end: 1000,
  43. filters:{}
  44. },
  45. methods:{
  46. RigionsClick(e){
  47. this.setData({
  48. show_regions:true,
  49. ActiveColor:true
  50. })
  51. },
  52. SubwayClick(e){
  53. this.setData({
  54. show_regions:false,
  55. ActiveColor:false
  56. })
  57. },
  58. RigionsselectClick(e){
  59. console.log(e)
  60. var dataset = e.currentTarget.dataset;
  61. var value = dataset['value'];
  62. var key = dataset['key'];
  63. var filters = this.data.filters;
  64. filters[key] = value;
  65. this.setData({
  66. filters:filters
  67. });
  68. this.triggerEvent('SelectEvent',{'key':key,
  69. 'value':value});
  70. },
  71. slider2change(e){
  72. var money = e.detail.value * 20;
  73. var start = (money - 1000>0)?money-1000:0;
  74. var end = (money + 1000 >= 7000) ? "不限" : money + 1000;
  75. this.setData({
  76. price: money,
  77. start:start ,
  78. end: end
  79. });
  80. this.setData({
  81. ['filters.price']:money
  82. });
  83. this.triggerEvent('SelectEvent', {'key':'price','value':[start,end]});
  84. },
  85. },
  86. /**
  87. * 生命周期函数--监听页面加载
  88. */
  89. onLoad: function (options) {
  90. },
  91. /**
  92. * 生命周期函数--监听页面初次渲染完成
  93. */
  94. onReady: function () {
  95. },
  96. /**
  97. * 生命周期函数--监听页面显示
  98. */
  99. onShow: function () {
  100. },
  101. /**
  102. * 生命周期函数--监听页面隐藏
  103. */
  104. onHide: function () {
  105. },
  106. /**
  107. * 生命周期函数--监听页面卸载
  108. */
  109. onUnload: function () {
  110. },
  111. /**
  112. * 页面相关事件处理函数--监听用户下拉动作
  113. */
  114. onPullDownRefresh: function () {
  115. },
  116. /**
  117. * 页面上拉触底事件的处理函数
  118. */
  119. onReachBottom: function () {
  120. },
  121. /**
  122. * 用户点击右上角分享
  123. */
  124. onShareAppMessage: function () {
  125. }
  126. });