Vue使用枚舉類型實現(xiàn)HTML下拉框步驟詳解
下拉框包含option中的Value和用來顯示的選項, 一般后臺都是使用的Value值,而不是顯示在前臺的選項
第一步: 編寫下拉框需要的枚舉類型
StatusEnum.java
public enum StatusEnum {
RED,
YELLOW,
GREEN
}
第二步: 編寫用來存放下拉框中對應(yīng)的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:[], //存放下拉框結(jié)果
status:''//存放選中結(jié)果
}
var selectVue = new Vue({
el:'#selectStatus',// 綁定DOM,一般是綁定div
data:statusModel //標(biāo)簽中使用的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>
顯示效果:

總結(jié)
以上所述是小編給大家介紹的Vue使用枚舉類型實現(xiàn)HTML下拉框步驟詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
vue.js開發(fā)實現(xiàn)全局調(diào)用的MessageBox組件實例代碼
最近學(xué)習(xí)了Vue.js,感覺組件這個地方知識點挺多的,而且很重要,所以決定記錄下,下面這篇文章主要給大家介紹了關(guān)于利用vue.js開發(fā)實現(xiàn)全局調(diào)用的MessageBox組件的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-11-11
vue中的v-model原理,與組件自定義v-model詳解
這篇文章主要介紹了vue中的v-model原理,與組件自定義v-model詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08

