74 课程列表前端获取后端数据

src/api/edu/subject.js实现前端接口。

import request from '@/utils/request' 

export default {
  // 课程分类:查询所有课程分类
  getAllSubject() {
    return request({
      url: `/eduservice/edu-subject/getAllSubject`,
      method: 'get'
    })
  }
}

edu/subject/list.vue.

<script>
import subject from "@/api/edu/subject.js"
export default {

  data() {
    return {
      filterText: '',
      data2: [],
      defaultProps: {
        children: "children",
        label: "title", // 这里的title与后端的属性名保持一致
      },
    }
  },
  watch: {
    filterText(val) {
      this.$refs.tree2.filter(val)
    }
  },
  created() {
    this.getAllSubject()
  },
  methods: {
    getAllSubject() {
      subject.getAllSubject()
      .then(Response => {
        this.data2 = Response.data.list
      })
    },
    // 课程分类的搜索索
     filterNode(value, data) {
      if (!value) return true;
      return data.title.indexOf(value) !== -1;
    },
  }
}
</script>

效果如下图。

image-20211111193130147

上面的检索功能是可用的,不过,它严格区分大小写,为了提高用户体验,我们继续完善下检索方法:不管用户输入什么值,我们都转换为小写进行比较。

 // 课程分类的搜索索
     filterNode(value, data) {
      if (!value) return true;
      return data.title.toLowerCase().indexOf(value) !== -1;
    }

最后回过头完善下save.vue,让课程分类添加成功后实现自动跳转到课程列表。

image-20211111194849371