uni-swipe-action.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <view>
  3. <slot></slot>
  4. </view>
  5. </template>
  6. <script>
  7. /**
  8. * SwipeAction 滑动操作
  9. * @description 通过滑动触发选项的容器
  10. * @tutorial https://ext.dcloud.net.cn/plugin?id=181
  11. */
  12. export default {
  13. name:"uniSwipeAction",
  14. data() {
  15. return {};
  16. },
  17. created() {
  18. this.children = [];
  19. },
  20. methods: {
  21. // 公开给用户使用,重制组件样式
  22. resize(){
  23. // wxs 会自己计算组件大小,所以无需执行下面代码
  24. // #ifndef APP-VUE || H5 || MP-WEIXIN
  25. this.children.forEach(vm=>{
  26. vm.init()
  27. })
  28. // #endif
  29. },
  30. // 公开给用户使用,关闭全部 已经打开的组件
  31. closeAll(){
  32. this.children.forEach(vm=>{
  33. // #ifdef APP-VUE || H5 || MP-WEIXIN
  34. vm.is_show = 'none'
  35. // #endif
  36. // #ifndef APP-VUE || H5 || MP-WEIXIN
  37. vm.close()
  38. // #endif
  39. })
  40. },
  41. closeOther(vm) {
  42. if (this.openItem && this.openItem !== vm) {
  43. // #ifdef APP-VUE || H5 || MP-WEIXIN
  44. this.openItem.is_show = 'none'
  45. // #endif
  46. // #ifndef APP-VUE || H5 || MP-WEIXIN
  47. this.openItem.close()
  48. // #endif
  49. }
  50. // 记录上一个打开的 swipe-action-item ,用于 auto-close
  51. this.openItem = vm
  52. }
  53. }
  54. };
  55. </script>
  56. <style></style>