解决vue动态下拉菜单 有数据未反应的问题

问题出现在当时后台数据会返回到data中但是没有出现下拉菜单,查询资料 发现 Vue的this理解有误

jsp 下拉菜单

<select name="plantModelParentId" v-model="vueObj.plantModelParentId" @change="selectChange">
<option value=""></option>
<option v-for="(item,index) in selectlist" :value="index"> {{item.plantModelName}}</option>
</select>

JS

new Vue({
el : "#vueadd",
data : {
vueObj : {},
selectlist : []
},
created : function() {
// 判断搜索是否为父级为空
var a = 0;
//var self=this.selectlist出错 原因是并未找到selectlist 经过查询资料this指向的事new Vue
var self=this; 
$.ajax({
type : "post",
url : basePath + "/cultmanage/seachCult.do",
dataType : 'json',
data : {
plantModelParentId : a,
},
success : function(data) {
//会返回后台的值 但是没出现下拉框 
//console.log(JSON.stringify(data));
self.selectlist = data;
},
error : function(data, type, err) {
alert("错误类型:" + type + "; 错误信息:" + err);
}
});
}

补充知识:vue+elementUI导航中,点击body子菜单收缩的问题

项目中用到了vue+elementUI,发现点击body导航子菜单会收缩的问题

原因:是elementUI版本的问题,发现我使用的是2.4.11版本,卸载重新安装2.4.9版本就可以了

安装命令:

cnpm uninstall element-ui//卸载

cnpm install element-ui@2.4.9 --save

以上这篇解决vue动态下拉菜单 有数据未反应的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程宝库

1.先确认自己在route.js 或者 main.js 中有没有使用 路由守卫vue.beforeEach和vue.addRouters() 促使页面每次刷新,重新根据后台返回数据生成动态路由,就像 ...