延展纸

v-sheet 旨在为 Vuetify 中的其他 paper 组件提供支持。 它旨在用作低级组件。

用例

v-sheet 组件是一张可塑的纸,可以变形以方便其他组件。

template


  1. <template>
  2. <div class="text-center">
  3. <v-sheet color="orange lighten-2">Hello, world! I'm a simple v-sheet</v-sheet>
  4. </div>
  5. </template>

Sheets(延展纸) - 图1

API

从下面选择您想要的组件,并查看可用的属性、插槽、事件和函数。

Sheets(延展纸) - 图2

实战场

template script style


  1. <template>
  2. <v-container>
  3. <v-row>
  4. <v-col>
  5. <v-slider v-model="width" min="0" max="500" label="Width"></v-slider>
  6. <v-slider v-model="height" min="0" max="500" label="Height"></v-slider>
  7. <v-slider v-model="elevation" min="0" max="24" label="Elevation"></v-slider>
  8. <v-select v-model="color" :items="colors" label="Color"></v-select>
  9. <v-switch v-model="tile" label="Tile"></v-switch>
  10. </v-col>
  11. </v-row>
  12. <v-row justify="space-around">
  13. <v-sheet
  14. :width="width"
  15. :height="height"
  16. :elevation="elevation"
  17. :color="color"
  18. :tile="tile"
  19. ></v-sheet>
  20. </v-row>
  21. </v-container>
  22. </template>
  1. <script>
  2. export default {
  3. data: () => ({
  4. width: 100,
  5. height: 100,
  6. elevation: 4,
  7. colors: ['white', 'gray darken-2', 'warning', 'error', 'success', 'teal'],
  8. color: 'white',
  9. tile: false,
  10. }),
  11. }
  12. </script>
  1. <style scoped>
  2. .v-input__slider, .v-select {
  3. width: 100%;
  4. }
  5. </style>

Sheets(延展纸) - 图3

示例

下面是一些简单到复杂的例子。

使用海拔

延展纸可以接受 0 到 24 之间的自定义海拔(默认值为 0)。

template script


  1. <template>
  2. <v-container>
  3. <v-row justify="space-around">
  4. <v-col
  5. v-for="elevation in elevations"
  6. :key="elevation"
  7. cols="12"
  8. md="4"
  9. >
  10. <v-sheet
  11. class="pa-12"
  12. color="grey lighten-3"
  13. >
  14. <v-sheet
  15. :elevation="elevation"
  16. class="mx-auto"
  17. height="100"
  18. width="100"
  19. ></v-sheet>
  20. </v-sheet>
  21. </v-col>
  22. </v-row>
  23. </v-container>
  24. </template>
  1. <script>
  2. export default {
  3. data: () => ({
  4. elevations: [6, 12, 18],
  5. }),
  6. }
  7. </script>

Sheets(延展纸) - 图4

平铺

延展纸可以接受将其设为矩形的 tile 属性(不包含 border-radius)。

template


  1. <template>
  2. <v-container>
  3. <v-row justify="space-around">
  4. <v-col
  5. v-for="tile in [false, true]"
  6. :key="tile"
  7. cols="12"
  8. md="4"
  9. >
  10. <v-sheet
  11. class="pa-12"
  12. color="grey lighten-3"
  13. >
  14. <div></div>
  15. <v-sheet
  16. :tile="tile"
  17. class="mx-auto"
  18. height="100"
  19. width="100"
  20. ></v-sheet>
  21. <div></div>
  22. </v-sheet>
  23. </v-col>
  24. </v-row>
  25. </v-container>
  26. </template>

Sheets(延展纸) - 图5

颜色和大小

纸张和基于它们的部件可以有不同的尺寸和颜色。

template script


  1. <template>
  2. <v-container>
  3. <v-row
  4. class="flex-child"
  5. >
  6. <v-col
  7. class="d-flex"
  8. cols="12"
  9. md="4"
  10. >
  11. <v-sheet
  12. class="d-flex"
  13. color="grey lighten-3"
  14. height="424"
  15. >
  16. <sheet-footer>
  17. #1: (3r x 2c)
  18. </sheet-footer>
  19. </v-sheet>
  20. </v-col>
  21. <v-col
  22. class="d-flex"
  23. cols="12"
  24. md="4"
  25. >
  26. <v-row>
  27. <v-col cols="6">
  28. <v-sheet
  29. class="d-flex"
  30. color="green lighten-3"
  31. height="150"
  32. >
  33. <sheet-footer>
  34. #2: (1r x 1c)
  35. </sheet-footer>
  36. </v-sheet>
  37. </v-col>
  38. <v-col cols="6">
  39. <v-sheet
  40. class="d-flex"
  41. color="yellow lighten-3"
  42. height="150"
  43. >
  44. <sheet-footer>
  45. #3: (1r x 1c)
  46. </sheet-footer>
  47. </v-sheet>
  48. </v-col>
  49. <v-col cols="12">
  50. <v-sheet
  51. class="d-flex"
  52. color="red lighten-3"
  53. height="250"
  54. >
  55. <sheet-footer>
  56. #5: (2r x 2c)
  57. </sheet-footer>
  58. </v-sheet>
  59. </v-col>
  60. </v-row>
  61. </v-col>
  62. <v-col
  63. cols="6"
  64. md="2"
  65. >
  66. <v-sheet
  67. class="d-flex"
  68. color="teal lighten-3"
  69. height="300"
  70. >
  71. <sheet-footer>
  72. #4: (2r x 1c)
  73. </sheet-footer>
  74. </v-sheet>
  75. </v-col>
  76. <v-col
  77. class="d-flex"
  78. cols="6"
  79. md="2"
  80. >
  81. <v-sheet
  82. class="d-flex mt-auto"
  83. color="purple lighten-3"
  84. height="300"
  85. >
  86. <sheet-footer>
  87. #6: (2r x 1c)
  88. </sheet-footer>
  89. </v-sheet>
  90. </v-col>
  91. </v-row>
  92. </v-container>
  93. </template>
  1. <script>
  2. export default {
  3. components: {
  4. SheetFooter: {
  5. functional: true,
  6. render (h, { children }) {
  7. return h('v-sheet', {
  8. staticClass: 'mt-auto align-center justify-center d-flex',
  9. props: {
  10. color: 'rgba(0, 0, 0, .36)',
  11. dark: true,
  12. height: 50,
  13. },
  14. }, children)
  15. },
  16. },
  17. },
  18. }
  19. </script>

Sheets(延展纸) - 图6