index.vue 988 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <script setup lang="ts">
  2. import { ref } from "vue";
  3. import Selector from "@/components/ReSelector";
  4. defineOptions({
  5. name: "Selector"
  6. });
  7. const selectRange = ref<string>("");
  8. const dataLists = ref([
  9. {
  10. title: "基本使用",
  11. echo: [],
  12. disabled: false
  13. },
  14. {
  15. title: "回显模式",
  16. echo: [2, 7],
  17. disabled: true
  18. }
  19. ]);
  20. const selectedVal = ({ left, right }): void => {
  21. selectRange.value = `${left}-${right}`;
  22. };
  23. </script>
  24. <template>
  25. <div>
  26. <el-card class="box-card" v-for="(item, key) in dataLists" :key="key">
  27. <template #header>
  28. <div class="card-header">
  29. <span>{{ item.title }}</span>
  30. </div>
  31. </template>
  32. <Selector
  33. :HsKey="key"
  34. :echo="item.echo"
  35. @selectedVal="selectedVal"
  36. :disabled="item.disabled"
  37. />
  38. <h4 v-if="!item.disabled">选中范围:{{ selectRange }}</h4>
  39. </el-card>
  40. </div>
  41. </template>
  42. <style scoped>
  43. .el-card {
  44. margin-bottom: 10px;
  45. }
  46. </style>