check-card.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. <script setup lang="ts">
  2. import { ref, watch } from "vue";
  3. // https://plus-pro-components.com/components/check-card-group.html
  4. import "plus-pro-components/es/components/check-card-group/style/css";
  5. import { PlusCheckCardGroup } from "plus-pro-components";
  6. defineOptions({
  7. name: "CheckCard"
  8. });
  9. const size = ref("default");
  10. const dynamicSize = ref();
  11. const list = ref("0");
  12. const list1 = ref([]);
  13. const options = [
  14. {
  15. title: "标题一",
  16. value: "0",
  17. description: "坚持梦想,成就不凡的自己",
  18. avatar:
  19. "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
  20. },
  21. {
  22. title: "标题二",
  23. value: "1",
  24. description: "每一次努力,都是成长的契机",
  25. avatar:
  26. "https://fuss10.elemecdn.com/1/34/19aa98b1fcb2781c4fba33d850549jpeg.jpeg"
  27. }
  28. ];
  29. watch(size, val =>
  30. val === "disabled"
  31. ? (dynamicSize.value = "default")
  32. : (dynamicSize.value = size.value)
  33. );
  34. </script>
  35. <template>
  36. <el-card shadow="never">
  37. <template #header>
  38. <div class="card-header">
  39. <el-space wrap :size="40">
  40. <el-link
  41. v-tippy="{
  42. content: '点击查看详细文档'
  43. }"
  44. href="https://plus-pro-components.com/components/check-card-group.html"
  45. target="_blank"
  46. style="font-size: 16px; font-weight: 800"
  47. >
  48. 多选卡片组
  49. </el-link>
  50. <el-radio-group v-model="size">
  51. <el-radio value="large">大尺寸</el-radio>
  52. <el-radio value="default">默认尺寸</el-radio>
  53. <el-radio value="small">小尺寸</el-radio>
  54. <el-radio value="disabled">禁用</el-radio>
  55. </el-radio-group>
  56. </el-space>
  57. </div>
  58. <el-link
  59. class="mt-2"
  60. href="https://github.com/pure-admin/vue-pure-admin/blob/main/src/views/components/check-card.vue"
  61. target="_blank"
  62. >
  63. 代码位置 src/views/components/check-card.vue
  64. </el-link>
  65. </template>
  66. <div class="mb-2 mt-4">单选</div>
  67. <PlusCheckCardGroup
  68. v-model="list"
  69. :options="options"
  70. :size="dynamicSize"
  71. :disabled="size === 'disabled'"
  72. />
  73. <div class="mb-2 mt-4">多选</div>
  74. <PlusCheckCardGroup
  75. v-model="list1"
  76. :options="options"
  77. :size="dynamicSize"
  78. :disabled="size === 'disabled'"
  79. multiple
  80. />
  81. </el-card>
  82. </template>