test.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. Page({
  2. menu:function(e){
  3. var itemId = e.currentTarget.id
  4. var data = this.data.menus
  5. var i =data[itemId].id
  6. //遍历data。menus数组,如果不等于现在点击的数,则把下拉菜单收起来
  7. for(var j=0;j<data.length;j++){
  8. if(i !== j){
  9. data[j].hiddens = true
  10. this.setData({
  11. menus: data
  12. })
  13. }
  14. }
  15. // 点击显示隐藏
  16. if (itemId == i){
  17. data[i].hiddens = !data[i].hiddens
  18. this.setData({
  19. menus:data
  20. })
  21. }
  22. },
  23. // 点击更换列表值
  24. txt:function(e){
  25. var data= this.data.menus
  26. // 获取到点击的列表下标,因为是在下拉的父元素点击,所以获取到menus下标
  27. var index= e.currentTarget.dataset.index
  28. // 获取到点击的值,赋值给默认值(e.target为e的属性值,在标签内赋值
  29. data[index].defaults = e.target.dataset.txt
  30. //,收起菜单
  31. data[index].hiddens = !data[index].hiddens
  32. // 刷新menus的值
  33. this.setData({
  34. menus: data
  35. })
  36. },
  37. data: {
  38. menus:[
  39. {
  40. id:0,
  41. hiddens: true,
  42. title:"退款类型",
  43. defaults:"我要退货退款",
  44. txt:[
  45. {lis:"我要退货退款"},
  46. {lis:"我要退款"},
  47. {lis:"我要退货"}
  48. ]
  49. },
  50. {
  51. id: 1,
  52. hiddens: true,
  53. title: "收货状态",
  54. defaults: "已收货",
  55. txt: [
  56. { lis: "已收货" },
  57. { lis: "未收货" }
  58. ]
  59. },
  60. {
  61. id: 2,
  62. hiddens: true,
  63. title: "退款原因",
  64. defaults: "多拍,错拍,不想要",
  65. txt: [
  66. { lis: "多拍,错拍,不想要" },
  67. { lis: "地址不正确" },
  68. { lis: "商品有问题" }
  69. ]
  70. }]
  71. },
  72. })