• vue下拉框属性说明


    在谷粒学院的课程信息页面,添加课程讲师,需要加个下拉框,通过将后端查询到的讲师列表传递给前端

            <el-select
                v-model="courseInfo.teacherId"
                placeholder="请选择">
                
                <el-option
                v-for="teacher in teacherList"
                :key="teacher.id"
                :label="teacher.name"
                :value="teacher.id"/>
            </el-select>
            </el-form-item>
    

    需要解释一下,key属性是唯一标识,label是在前端显示的值,value是前端提交数据后,真正传给接口的字段值。这里将讲师名字在前端展示,选择讲师后,点击下一步,提交给后端的是讲师id,而不是讲师名字

    在后端的mapper中定义的课程信息如下,可以看到定义的是teacherId

    package com.atguigu.eduservice.entity;
    
    import java.math.BigDecimal;
    
    import com.baomidou.mybatisplus.annotation.FieldFill;
    import com.baomidou.mybatisplus.annotation.IdType;
    import java.util.Date;
    
    import com.baomidou.mybatisplus.annotation.TableField;
    import com.baomidou.mybatisplus.annotation.TableId;
    import java.io.Serializable;
    import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;
    import lombok.Data;
    import lombok.EqualsAndHashCode;
    import lombok.experimental.Accessors;
    
    /**
     * <p>
     * 课程
     * </p>
     *
     * @author testjava
     * @since 2022-04-19
     */
    @Data
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @ApiModel(value="EduCourse对象", description="课程")
    public class EduCourse implements Serializable {
    
        private static final long serialVersionUID = 1L;
    
        @ApiModelProperty(value = "课程ID")
        @TableId(value = "id", type = IdType.ID_WORKER_STR)
        private String id;
    
        @ApiModelProperty(value = "课程讲师ID")
        private String teacherId;
    
        @ApiModelProperty(value = "课程专业ID")
        private String subjectId;
    
        @ApiModelProperty(value = "课程专业父级ID")
        private String subjectParentId;
    
        @ApiModelProperty(value = "课程标题")
        private String title;
    
        @ApiModelProperty(value = "课程销售价格,设置为0则可免费观看")
        private BigDecimal price;
    
        @ApiModelProperty(value = "总课时")
        private Integer lessonNum;
    
        @ApiModelProperty(value = "课程封面图片路径")
        private String cover;
    
        @ApiModelProperty(value = "销售数量")
        private Long buyCount;
    
        @ApiModelProperty(value = "浏览数量")
        private Long viewCount;
    
        @ApiModelProperty(value = "乐观锁")
        private Long version;
    
        @ApiModelProperty(value = "课程状态 Draft未发布  Normal已发布")
        private String status;
    
        @ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
        private Integer isDeleted;
    
        @ApiModelProperty(value = "创建时间")
        @TableField(fill = FieldFill.INSERT)
        private Date gmtCreate;
    
        @ApiModelProperty(value = "更新时间")
        @TableField(fill = FieldFill.INSERT_UPDATE)
        private Date gmtModified;
    
    
    }
    

    在讲师表对应的mapper中,既有name,也有id

    package com.atguigu.eduservice.entity;
    
    import com.baomidou.mybatisplus.annotation.*;
    
    import java.util.Date;
    
    import java.io.Serializable;
    
    import io.swagger.annotations.ApiModel;
    import io.swagger.annotations.ApiModelProperty;
    import lombok.Data;
    import lombok.EqualsAndHashCode;
    import lombok.experimental.Accessors;
    
    /**
     * <p>
     * 讲师
     * </p>
     *
     * @author testjava
     * @since 2022-03-17
     */
    @Data
    @EqualsAndHashCode(callSuper = false)
    @Accessors(chain = true)
    @ApiModel(value="EduTeacher对象", description="讲师")
    public class EduTeacher implements Serializable {
    
        private static final long serialVersionUID = 1L;
    
        @ApiModelProperty(value = "讲师ID")
        @TableId(value = "id", type = IdType.ID_WORKER_STR)
        private String id;
    
        @ApiModelProperty(value = "讲师姓名")
        private String name;
    
        @ApiModelProperty(value = "讲师简介")
        private String intro;
    
        @ApiModelProperty(value = "讲师资历,一句话说明讲师")
        private String career;
    
        @ApiModelProperty(value = "头衔 1高级讲师 2首席讲师")
        private Integer level;
    
        @ApiModelProperty(value = "讲师头像")
        private String avatar;
    
        @ApiModelProperty(value = "排序")
        private Integer sort;
    
        @ApiModelProperty(value = "逻辑删除 1(true)已删除, 0(false)未删除")
        @TableLogic   //逻辑删除注解
        private Boolean isDeleted;
    
        @ApiModelProperty(value = "创建时间")
        @TableField(fill = FieldFill.INSERT)
        private Date gmtCreate;
    
        @ApiModelProperty(value = "更新时间")
        @TableField(fill = FieldFill.INSERT_UPDATE)
        private Date gmtModified;
    
    
    }
    

    具体在前端处理的时候,先将查询到的teacher.name传递给label,如果前端要提交,再将该选中的讲师的id即teacher.id传给courseInfo中的teacherId
    数据表edu_course中的teacher_id对应的是edu_teacher中的id

  • 相关阅读:
    Android 开发工具类 19_NetworkStateReceiver
    Android 开发工具类 18_NetWorkUtil
    Sticky Footer (让页脚永远停靠在页面底部,而不是根据绝对位置)
    min-height最小高度的实现(兼容IE6、IE7、FF)(解决IE6不兼容min-height)
    不同浏览器设置背景透明度
    讨论内外边距对行内元素是否起作用,则要对行内替换元素和行内非替换元素分别讨论:
    超链接访问过后hover样式就不出现的问题
    解决:子元素设置margin-top,父元素也受影响的问题
    制作0.5px像素的细条
    去掉inline-block元素间隙的几种方法
  • 原文地址:https://www.cnblogs.com/my_captain/p/16177184.html
Copyright © 2020-2023  润新知