listquestions.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <template>
  2. <div style="height: 100%;">
  3. <van-pull-refresh class="inspect-object-question-wrapper" v-model="loading" @refresh="getData()">
  4. <!-- 使用 v-for 指令遍历 list 数组 -->
  5. <card01 v-for="item in list" :key="item.id" :title="item.pblmNm + ''" icon="notes"
  6. :description="renderData(item, item.pblmDesc)"
  7. @click="jumpPage(`/problem/${item.id}`)" />
  8. </van-pull-refresh>
  9. </div>
  10. </template>
  11. <script setup>
  12. import { renderData } from "@/utils/template";
  13. import { jumpPage } from "@/utils/page";
  14. import { getTacQuestionList } from "@/api/questions";
  15. import { onMounted, ref } from "vue";
  16. import card01 from '@/components/card01.vue';
  17. // 使用 ref 定义响应式变量 list 和 loading
  18. const list = ref([]);
  19. const loading = ref(false);
  20. // 定义 objectConfig 变量
  21. const objectConfig = ref({
  22. description: '这里是默认描述信息' // 你可以根据实际情况修改默认描述内容
  23. });
  24. // 定义 getData 函数,用于获取数据
  25. function getData() {
  26. // 设置 loading 为 true,表示正在加载数据
  27. loading.value = true;
  28. // 调用 getTacQuestionList 接口获取数据
  29. getTacQuestionList().then(res => {
  30. // 将接口返回的数据赋值给 list
  31. list.value = res.data.list;
  32. console.log(list.value);
  33. // 设置 loading 为 false,表示数据加载完成
  34. loading.value = false;
  35. })
  36. }
  37. // 在组件挂载后调用 getData 函数获取数据
  38. onMounted(() => {
  39. getData();
  40. })
  41. </script>
  42. <style lang="scss" scoped>
  43. .inspect-object-wrapper {
  44. width: 100%;
  45. height: 100%;
  46. overflow: auto;
  47. }
  48. </style>