el-select选择框里面 根据后台返回的字段 1、2 来匹配选择框里面的内容 :value

正文里面person.vue

	
      
        
        
      
    

js部分

		 // 人员编辑
premisesEdit(item) {
  this.formedit = {
    newName: item.name,
    newPhone: item.phone,
    newRoleId: item.roleId,
    userId: item.userId
  };
  // if (item.roleId == 1) {
  //   this.formedit.newRoleId = "超级管理员";
  // } else if (item.roleId == 2) {
  //   this.formedit.newRoleId = "管理员";
  // } else {
  //   this.formedit.newRoleId = "普通人员";
  // }
  this.editPeploe = true;
},

注明:原来是靠这部分来获取后端返回的1、2来判断 并填充选择框的内容,但有问题的是,调接口要提交的参数是1、2,所以我这样转换了,提交参数的时候是提交的“超级管理员”或者“管理员”字段为string格式,并不是后端需要的1、2

			// if (item.roleId == 1) {
	      //   this.formedit.newRoleId = "超级管理员";
	      // } else if (item.roleId == 2) {
	      //   this.formedit.newRoleId = "管理员";
	      // } else {
	      //   this.formedit.newRoleId = "普通人员";
	      // }

所以通过:value="2"的方式 自动匹配 寻找后台返回的1、2,并填充内容string,并且提交参数的时候也是1、2,省时省力省脑子!

	在同一个vue文件中可以不封装的一种方法如下:

template中

			
                    {{currentUser.realName || '--'}}·{{currentUser.roleId | ROLEID}}
            

	export default {
		watch{
			...........
		},
		filters:{
	      ROLEID(val){
	        if(val == 1){
	          return '超级管理员'
	        }else if(val == 2){
	          return '管理员'
	        }else if(val == 3){
	          return '普通人员'
	       	 }
	     	 }
	 	   },
	}

你可能感兴趣的:(VUE,js)