common-popup.vue 730 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <template>
  2. <view>
  3. <u-popup v-model="popupState" mode="bottom" height='80%' border-radius="14" safe-area-inset-bottom>
  4. <view @tap.stop='handleSelect(item)' class="py2 px3 one-ellipsis border-bottom"
  5. v-for="(item,index) in list" :key='index'>
  6. {{item.label}}
  7. </view>
  8. </u-popup>
  9. </view>
  10. </template>
  11. <script>
  12. export default {
  13. data() {
  14. return {
  15. popupState: false
  16. };
  17. },
  18. props: {
  19. list: {
  20. type: Array,
  21. default: () => []
  22. }
  23. },
  24. created() {
  25. console.log(this.list);
  26. },
  27. methods: {
  28. show() {
  29. this.popupState = true
  30. },
  31. hide() {
  32. this.popupState = false
  33. },
  34. handleSelect(item) {
  35. this.hide()
  36. this.$emit('select',item)
  37. }
  38. }
  39. }
  40. </script>
  41. <style>
  42. </style>