父级关联数据处理

声明

本篇的作品来自于 “全栈之巅” 老师的教学视频https://www.bilibili.com/video/av51931842/,
简书https://www.jianshu.com/u/cd64ab6779d0,
将其中的重要部分做摘录,如有冒犯,请联系删除

编辑页面

  • 添加上级分类选择器
<el-form-item label="上级分类">
    <el-select v-model="model.parent">
        <el-option
            v-for="item in parents"
            :key="item._id"
            :label="item.name"
            :value="item._id"
        ></el-option>
    </el-select>
</el-form-item>
  • 在 data 中添加 父级数组
data: () => ({
  parents: []
})
  • 在 created 钩子里 初始化父级数组
created () {
  this.fetchParents()
}
  • 添加 查找父级数组方法
methods: {
  async fetchParents () {
    const res = awiat this.$http.get(`categories`);
    this.parents = res.data;
  }
}

后台路由

  • 查看路由
router.get('/categories', async (req, res) => {
  const items = await Category.find().populate('parent');
  res.send(items);
}

其中,使用populate讲父级关联起来,能够获取到父级的对象,通过对象的id获取到对象的属性,从而显示出来父级对象的属性信息

后台模型

const schma = new mongoose.Schema({
  name: { type: String },
  parent: { type: mongoose.SchemaTypes.ObjectId, ref: 'Category'  }
});
  • SchemaTypes: 模式类型处理路径默认值、验证、getter、setter、字段选择默认值以及字符串和数字的其他一般特征。
  • 指定一个类型的ObjectId
  • ref 关联 模型 Category

列表页面

<el-table-column prop="parent.name" label="上级分类"></el-table-column>

通过id关联,获取到父级的属性,通过prop显示

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,073评论 6 13
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,910评论 1 32
  • REST API 可以让你用任何支持发送 HTTP 请求的设备来与 Parse 进行交互,你可以使用 REST A...
    Caroline嗯哼阅读 6,370评论 0 0
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,175评论 0 3
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 8,742评论 1 41

友情链接更多精彩内容