cartPopup.vue 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <template>
  2. <u-popup :show="show" mode="bottom" @close="close" @open="open" :round="10">
  3. <view class="my-popup padding">
  4. <view class="w-full padding-bottom-lg" v-for="(item, index) in carList" :key="index">
  5. <my-goods :item="item" ref="my-goods">
  6. <view class="num-step">
  7. <u-number-box v-model="item.goods_num" :min="1" @change="changeValue($event, item.id)" />
  8. </view>
  9. </my-goods>
  10. </view>
  11. </view>
  12. </u-popup>
  13. </template>
  14. <script>
  15. export default {
  16. name: "cartPopup",
  17. props: {
  18. carList: {
  19. type: Array,
  20. required: true
  21. }
  22. },
  23. data() {
  24. return {
  25. show: false,
  26. value: 1,
  27. // data: {
  28. // src: '../../static/x0.jpg',
  29. // title: '标题标题标题标题标题标题标题标题标题标题标题标题标题标题标题',
  30. // spec: '180cm',
  31. // price: '53.30'
  32. // }
  33. };
  34. },
  35. methods: {
  36. open() {},
  37. setShow(v) {
  38. this.show = v;
  39. },
  40. close() {
  41. this.show = false;
  42. },
  43. changeValue(value, index) {
  44. this.$emit('numChanged',value.value, index)
  45. console.log('更新后的数量=======:', value, '索引=========:', index)
  46. }
  47. }
  48. }
  49. </script>
  50. <style scoped lang="scss">
  51. .my-popup {
  52. width: 100%;
  53. max-height: 800rpx;
  54. overflow: auto;
  55. padding-bottom: 130rpx;
  56. .num-step {
  57. width: 200rpx;
  58. padding-top: 40rpx;
  59. }
  60. }
  61. </style>