index.js 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. const app = getApp()
  2. import {
  3. throttle,
  4. getWaterDrop
  5. } from '../../utils/index/index'
  6. Component({
  7. /**
  8. * 组件的属性列表
  9. */
  10. options: {
  11. // 使用基础库内置的数据变化观测器
  12. observers: true,
  13. },
  14. props: {
  15. // 是否显示modal
  16. visible: {
  17. type: Boolean,
  18. value: false
  19. },
  20. // 自定义内容
  21. daysDifference: {
  22. type: Number,
  23. value: 0
  24. },
  25. showCancelBtn: { // 定义一个属性
  26. type: Boolean,
  27. value: true, // 默认值
  28. },
  29. //确认按钮回调
  30. onOk: {
  31. type: Function,
  32. value: () => {}
  33. },
  34. },
  35. /**
  36. * 组件的初始数据
  37. */
  38. data: {
  39. btnStatus: true,
  40. },
  41. didMount() {
  42. console.log(this.props.showCancelBtn)
  43. },
  44. didUpdate(newVal, oldVal) {
  45. console.log('didUpdate', newVal, oldVal)
  46. console.log(this.props.showCancelBtn)
  47. },
  48. /**
  49. * 组件的方法列表
  50. */
  51. methods: {
  52. updateValue(newVal) {
  53. console.log(newVal)
  54. // 更新内部数据或执行其他逻辑
  55. this.setData({
  56. btnStatus: newVal
  57. });
  58. },
  59. cancel: throttle( function () {
  60. const _this = this;
  61. setTimeout(()=>{
  62. _this.props.onOk();
  63. }, 100)
  64. }, 1000),
  65. },
  66. observers: {
  67. "showCancelBtn": function(val) {
  68. // 属性变化监听器
  69. console.log('showCancelBtn', val);
  70. this.updateValue(val);
  71. },
  72. "daysDifference": function(val) {
  73. // 属性变化监听器
  74. console.log('daysDifference', val);
  75. this.updateValue(val);
  76. }
  77. }
  78. })