popup-props.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <template>
  2. <div class="popup_wrap">
  3. <van-icon name="clear" class="cancel_popup" @click.native="$parent.value = false"></van-icon>
  4. <div class="popup_header">商品属性</div>
  5. <div class="popup_content">
  6. <van-cell-group>
  7. <van-cell v-for="(str, i) in propsStr" :key="i">
  8. <van-row>
  9. <van-col span="8">{{str[0]}}</van-col>
  10. <van-col span="16">{{str[1]}}</van-col>
  11. </van-row>
  12. </van-cell>
  13. </van-cell-group>
  14. </div>
  15. </div>
  16. </template>
  17. <script>
  18. import { Row, Col } from 'vant';
  19. export default {
  20. name: 'popup-props',
  21. props: {
  22. propsStr: {
  23. type: Array,
  24. default: () => []
  25. }
  26. },
  27. components: {
  28. [Col.name]: Col,
  29. [Row.name]: Row
  30. }
  31. };
  32. </script>
  33. <style lang="scss" scoped>
  34. .popup_wrap {
  35. position: relative;
  36. padding-bottom: 30px;
  37. box-sizing: border-box;
  38. .popup_header {
  39. padding: 15px 0 30px 0;
  40. text-align: center;
  41. }
  42. .popup_content {
  43. min-height: 150px;
  44. max-height: 400px;
  45. box-sizing: border-box;
  46. overflow-x: hidden;
  47. overflow-y: scroll;
  48. padding: 0 10px;
  49. line-height: 30px;
  50. &::-webkit-scrollbar {
  51. background-color: #fff;
  52. width: 5px;
  53. }
  54. &::-webkit-scrollbar-thumb {
  55. border-radius: 3px;
  56. background-color: #bebebe;
  57. }
  58. ol {
  59. padding-left: 15px;
  60. list-style: decimal;
  61. }
  62. }
  63. .cancel_popup {
  64. position: absolute;
  65. right: 15px;
  66. top: 15px;
  67. z-index: 9;
  68. font-size: 18px;
  69. }
  70. }
  71. </style>