camera-modal.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. Component({
  2. properties: {
  3. propName: { // 属性名
  4. type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
  5. value: 'val', // 属性初始值(必填)
  6. observer: function (newVal, oldVal) {
  7. // 属性被改变时执行的函数(可选)
  8. }
  9. }
  10. },
  11. data: {
  12. isModalShow: false,
  13. animationData: ''
  14. }, // 私有数据,可用于模版渲染
  15. openModal() {
  16. const animation = swan.createAnimation()
  17. animation.translateY(-500).step();
  18. this.setData({ isModalShow: true }, () => {
  19. this.setData({
  20. animationData: animation.export()
  21. })
  22. })
  23. },
  24. closeModal() {
  25. const animation = swan.createAnimation()
  26. animation.translateY(0).step();
  27. this.setData({ animationData: animation.export()}, () => {
  28. setTimeout(()=>{
  29. this.setData({
  30. isModalShow: false,
  31. })
  32. clearTimeout
  33. },400)
  34. })
  35. },
  36. // 生命周期函数,可以为函数,或一个在methods段中定义的方法名
  37. attached: function () { },
  38. detached: function () { },
  39. methods: {
  40. onTap: function () {
  41. this.setData({
  42. // 更新属性和数据的方法与更新页面数据的方法类似
  43. });
  44. }
  45. }
  46. });