网络编程
位置:首页>> 网络编程>> JavaScript>> Vue使用枚举类型实现HTML下拉框步骤详解

Vue使用枚举类型实现HTML下拉框步骤详解

作者:弓长张&木子李  发布时间:2023-07-02 16:45:27 

标签:vue,枚举,下拉框

下拉框包含option中的Value和用来显示的选项, 一般后台都是使用的Value值,而不是显示在前台的选项

第一步: 编写下拉框需要的枚举类型

  StatusEnum.java


public enum StatusEnum {
RED,
YELLOW,
GREEN
}

第二步: 编写用来存放下拉框中对应的option中的Value和显示的选项

  StatusDTO.java


public class StatusDTO {
private String code;
private String name;
//setter , getter
}

第三步: 编写controller (resource)

  statusResource.java


@Path("/status")
public class statusResource{
@GET
@Path("/getStatus")
public List<StatusDTO> getStatus(){
 List<StatusDTO> list = new ArrayList<StatusDTO>();
 StatusDTO statusDTO = null;
 for(StatusEnum status : StatusEnum.values()){
  statusDTO = new StatusDTO();
  statusDTO.setCode(status.toString());
  list.add(statusDTO);
 }
 return list;
}
}

第四步: 编写js文件


var statusModel ={
selectStatus:[], //存放下拉框结果
status:''//存放选中结果
}
var selectVue = new Vue({
el:'#selectStatus',// 绑定DOM,一般是绑定div
data:statusModel //标签中使用的model
})
var selectStatusResource = Vue.resource('/status/getStatus').get().then(function (response) {
var statusList = response.data;
var list = [];
var status = null;
for(var i = 0; i < statusList.length; i++){
 status = statusList[i].code == 'RED' ? '红色' : statusList[i].code == 'YELLOW' ? '黄色' : statusList[i].code == 'GREEN' ? '绿色' : '';
 list.push({code:statusList[i].code,name:status});
}
statusModel.selectStatus = list;
});

第五步: 编写html文件


<div id="selectStatus" style="width:140px;height: 37px;text-align: right;margin: 0 2px;position: relative;float: left;">
  <select id="status" style="width:100%;background: #ddebff;height: 35px;color: #082451;
         border: 1px solid #082451;border-radius: 2px;font-size: 12px;
         box-shadow: 3px 3px 3px #96c0e7 inset;" v-model="status">
   <option value="-1">-请选择-</option>
   <option v-for="option in selectStatus" :value="option.code">{{option.name}}</option>
  </select>
 </div>

显示效果:

Vue使用枚举类型实现HTML下拉框步骤详解

总结

以上所述是小编给大家介绍的Vue使用枚举类型实现HTML下拉框步骤详解网站的支持!

来源:https://www.cnblogs.com/gczmn/archive/2018/02/05/8417784.html

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com