popup.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. // components/popup3/popup.js
  2. var app = getApp();
  3. Component({
  4. options: {
  5. multipleSlots: true // 在组件定义时的选项中启用多slot支持
  6. },
  7. /**
  8. * 组件的属性列表
  9. */
  10. properties: {
  11. title: { // 属性名
  12. type: String, // 类型(必填),目前接受的类型包括:String, Number, Boolean, Object, Array, null(表示任意类型)
  13. value: '标题' // 属性初始值(可选),如果未指定则会根据类型选择一个
  14. },
  15. // 弹窗内容
  16. content: {
  17. type: Array,
  18. value: ['内容']
  19. },
  20. // 弹窗取消按钮文字
  21. btn_no: {
  22. type: String,
  23. value: '取消'
  24. },
  25. // 弹窗确认按钮文字
  26. btn_ok: {
  27. type: String,
  28. value: '确定'
  29. },
  30. // 默认两个按钮
  31. btn2: {
  32. type: Boolean,
  33. value: true
  34. },
  35. // 自定义按钮
  36. self: {
  37. type: Boolean,
  38. value: false
  39. }
  40. },
  41. /**
  42. * 组件的初始数据
  43. */
  44. data: {
  45. flag: true,
  46. appAssetsUrl2: app.appAssetsUrl2
  47. },
  48. /**
  49. * 组件的方法列表
  50. */
  51. methods: {
  52. //隐藏弹框
  53. hidePopup: function () {
  54. this.setData({
  55. flag: !this.data.flag
  56. })
  57. },
  58. //展示弹框
  59. showPopup() {
  60. this.setData({
  61. flag: !this.data.flag
  62. })
  63. },
  64. /*
  65. * 内部私有方法建议以下划线开头
  66. * triggerEvent 用于触发事件
  67. */
  68. _error() {
  69. //触发取消回调
  70. this.triggerEvent("error")
  71. },
  72. _success() {
  73. //触发成功回调
  74. this.triggerEvent("success");
  75. }
  76. }
  77. })