Vue使用枚举类型实现HTML下拉框
下拉框包含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.js中使用select选择下拉框
		
在Vue.js中使用select选择下拉框有两种方法: 第一种: Add.html: <select v-model="sysNotice.noticeType" id=&q ...
 - 在vue中的form表单中下拉框中的数据来自数据库查询到的数据
		
文章目录 1.实现的效果: 2.前端html代码 3.js中的代码 4.后端的方法 1.实现的效果: 增加一个新的类型到数据库 2.前端html代码 需要注意的部分:prop后边是表单中的字段 v-m ...
 - Robot Framework选择定位option类型下拉框
		
页面下拉框一般有两种类型,一种是div标签的,一种是option类型的,比如: div标签类型则可以通过定位进行元素点击去选择对应的枚举参数则可,而option类型的下拉选项则通过Selenium2L ...
 - Vue.js组件之联动下拉框
		
Html代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
 - Vue实现树形下拉框
		
Vue自身并没有实现树形下拉框的组件,找了很多资料,最后在Github上找了个插件vue-treeselect,功能还是比较全的,模糊搜索.多选.延迟加载.异步搜索.排序,自定义.Vuex支持等等.这 ...
 - angularjs 绑定多个属性到下拉框
		
绑定下拉框 angularjs 代码: //活动下拉切换 $scope.activityChange = function () { var cards = new Array(); var url ...
 - Extjs 中combobox下拉框初始化赋值
		
近日在工作中遇到一个需求,要求页面初始化的时候给dataGrid表插入一条数据. 前端使用的是Extjs框架,dataGrid表有四列,其中三列是类型为textbox,普通文本框,另外一列类型是com ...
 - C#  利用反射将枚举绑定到下拉框
		
前言:反射(Reflection)是.NET提供给开发者的一个强大工具,尽管作为.NET框架的使用者,很多时候不会用到反射.但在一些情况下,尤其是在开发一些基础框架或公共类库时,使用反射会使系统架构更 ...
 - vue.js实现单选框、复选框和下拉框
		
Vue.js可以很方便的实现数据双向绑定,所以在处理表单,人机交互方面具有很大的优势.下边以单选框.复选框和下拉框为例介绍他们在HTML和Vue.js中的具体实现方式. 一.单选框 在传统的HTM ...
 
随机推荐
- 五分钟彻底学会iptables防火墙--技术流ken
			
iptables简介 IPTABLES 是与最新的 3.5 版本 Linux内核集成的 IP 信息包过滤系统.如果 Linux 系统连接到因特网或 LAN.服务器或连接 LAN 和因特网的代理服务器, ...
 - Maven私服 Nexus使用一例
			
一.背景 本次搭建Nexus的私服是为了解决两件事 1.公司网络限制,部分项目组同事无法直接访问互联网,不能直接下载一些依赖的jar文件; 2.一些独立的jar无法通过Maven添加依赖的方式引入到项 ...
 - C# 只开启一个程序,如果第二次打开则自动将第一个程序显示到桌面
			
using System; using System.Collections.Generic; using System.Windows.Forms; using System.Runtime.Int ...
 - 18.QT-QPlainEdit 信号与槽
			
QPlainEdit编辑功能 Public Slots void appendHtml ( const QString & html ) void appendPlainText ( cons ...
 - String为什么是不可变的?
			
前几天一个面试被问到String为什么是不可变的?, 自我感觉当时回答的不太理想, 事后总结一下 不可变的是什么 我们谈论的String不可变, 指的是字符串的值不可变 例: String s = & ...
 - mongodb与java整合
			
mongodb与java整合需要用到mongodb驱动,如果是maven环境,则添加如下倚赖: <dependency> <groupId>org.mongodb</gr ...
 - python使用tcp实现一个简单的下载器
			
上一篇中介绍了tcp的流程,本篇通过写一个简单的文件下载器程序来巩固之前学的知识. 文件下载器的流程如下: 客户端: 输入目标服务器的ip和port 输入要下载文件的名称 从服务器下载文件保存到本地 ...
 - 点到圆弧的距离(csu1503)+几何
			
1503: 点到圆弧的距离 Time Limit: 1 Sec Memory Limit: 128 MB Special JudgeSubmit: 325 Solved: 70[Submit][ ...
 - Android Studio 学习(三) 广播
			
动态注册监听网络变化 创建intentFilter 并addAction 代表了监听哪个广播 然后使用registerReceiver()方法 将intentFilter 与 自己创建的监听器 传进去 ...
 - BZOJ4484: [Jsoi2015]最小表示(拓扑排序乱搞+bitset)
			
Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 348 Solved: 172[Submit][Status][Discuss] Descriptio ...