iview的select联动_iview2 之select二级联动细谈
还是二级联动问题,之前的方法是可以实现二级联动的。但是理想很丰满,现在很骨感。因为后台可能也没法给你理想的数据结构。最后想到办法的利用两个接口拿到数据,实现渲染。直接来代码
{{ item.firstname }}
{{ item.name }}
import {
geSecondCategory
} from'@/api/article';
exportdefault{
name:'long',
props: {
categoryList: {//父级传来的一级栏目列表
type: Array,
},
allDataList: { // 文章列表
type: Array,
}
},
data() {return{
secondnameList: [],//二级栏目列表
formValidate: {
secondname:'',
categoryIdName:'',
categoryId:'',
},
ruleValidate: ruleValidate,//校验
};
},
methods: {//获取二级栏目
changeSecList(val) {this.formValidate.categoryIdName =val.valuethis.geSecondCategory(val.value)
},
async geSecondCategory(id) {
let res=await geSecondCategory(id)this.secondnameList =res.data.content
},//存入二级categoryId
getCategoryId (val) {this.formValidate.categoryId =val.value
console.log(val.value)
},//根据是否有文章ID渲染页面
async init() {this.articleId = this.$route.query.articleId || '';if (this.articleId) {
let { data }= await getArticles(this.articleId);this.formValidate =data;if (this.allDataList.length) {this.allDataList.forEach((item, index) =>{if (data.categoryId ===item.id) {this.formValidate.name =data.categoryIdthis.formValidate.categoryIdName =item.firstIdthis.geSecondCategory(item.firstId)
}
})
}else{this.init()
}
}
},
},
mounted() {this.init();
},
};
遇到的问题与解决方法
1.select默认只返回一个值,但我同时需要firstId与firstname两个参数。解决方法:label-in-value(是否将 label 和 value 一并返回,默认只返回 value),这个api主要帮我实现将firstId传给获取二级栏目当参数,firstname传给保存接口。
2.渲染问题:1)没注意:key这个参数。写的是:key="item.firstId"结果死活都渲染不出我想要的数据。因为在没使用:label这个api是没有任何问题的,最后仔细想想原来对象渲染的问题key与value当然要对应不然怎么实现渲染,想打自己。
2)on-change事件中选中的Option变化时触发,默认返回 value,如需返回 label,详见 label-in-value 属性。这是官网给写的解释,所以:label应该显示firstname,那:value与:key就得用id与进行匹配。
3)当文章是处于编辑状态,当然要把文章渲染进来。可是由于生命周期的原因一开始拿不到父级传的数据,有考虑过数组更新没渲染的问题,使用$set去解决。但并没效果,就想到了如果没有获取到数据就再次渲染直到拿到数据。终于搞定。不知道哪位大 佬有更好的解决方案。
当解决完这些问题,都觉得好简单,但是当时可不是这种想法。到这里,所有的事情都解决,等待上线。
iview的select联动_iview2 之select二级联动细谈相关推荐
- php下拉列表 二级 联动,PHP+Ajax实现二级联动下拉菜单!
正文 字体大小: 中 PHP+Ajax实现二级联动下拉菜单! (2009-12-05 01:11:39) 标签: 杂谈 数据库 .................................... ...
- html表格联动,Table表格的二级联动
用Table实现二级联动 头一次听说二级联动这个概念,悔恨以前做课设的时候对这些东西浅浅略过. 网上搜寻一番后发现大多数例子都是对下拉选框的二级联动,最常用的应该就是省市区的选择了吧. [复现sele ...
- java 二级联动_java实现的二级联动菜单效果
本文实例讲述了java实现的二级联动菜单效果.分享给大家供大家参考,具体如下: JSP代码: 二级菜单联动演示 var req; window.οnlοad=function() {//页面加载时的函 ...
- web中ajax实现二级联动,Ajax实现城市二级联动(一)
前一篇是把省份和城市都写在JS里,这里把城市放在PHP里,通过发送Ajax请求城市数据渲染到页面. 1.html 请选择 山东省 辽宁省 吉林省 请选择 2.javascript /* * 需要思考哪 ...
- php js 二级联动_PHP+ajax实现二级联动菜单功能示例
本文实例讲述了PHP+ajax实现二级联动菜单功能.分享给大家供大家参考,具体如下: 如何实现二级联动 工作原理 二级联动在开发中是比较常见的一个技术点,它主要运用了JS的局部刷新技术ajax,不同于 ...
- php二层联动,php怎么实现二级联动菜单
php实现二级联动菜单的方法:首先创建好HTML文件和PHP文件:然后编写前端代码以及后端逻辑代码:接着向后台发送一个请求:最后将值用JS呈现在页面中即可. 本文操作环境:windows7系统.PHP ...
- select下拉菜单实现二级联动
需求:建立年级.班级两个数据表,获取年级表信息,根据年级,获取相应的班级 效果图: 不完美的地方就是在不选择年级的时候,是不能选择任何班级的(当然,这个也是有解决方案的.可可以百度一下动态sql,使用 ...
- python下拉框二级联动_下拉列表框实现二级联动
1 2 3 4 DOM解析cities 5 6 7 8 请选择...... 9 吉林省 10 辽宁省 11 山东省 12 13 14 请选择...... 15 16 17 window.οnlοad= ...
- html select联动,select标签实现二级联动
效果如下图所示: 实现的原理:使用onchange事件,原理见代码 html代码: 魏国 蜀国 吴国 script代码: var select = document.getElementById(&q ...
最新文章
- python十一:集合(set)
- WIN10 关闭驱动签名
- dwr框架ajax验证账号,dwr-Ajax开源框架
- hdu 1560 DNA sequence(迭代加深搜索)
- 关于js css html加载顺序整理
- WCF中安全的那些事!!!
- MyBatis 源码解读-environmentsElement()
- html5移动web开发黑马掌上商城_这套web前端与移动开发教程,帮助了众多小白转行就业...
- 前端学习(1771):前端调试之serverworkers的概念和方法
- oracle table 函数使用
- 【蓝桥杯】蓝桥杯日期类问题总结
- 在win10系统下安装ubuntu17.10以及基本配置
- cmd命令行带参启动程序
- 常见排序算法的python实现
- Win10 powershell字体设置
- 接口 常见视频接口详解
- Linux打印口/LPT口出厂测试工具与使用说明
- 推荐系统架构及流程说明
- 支持加密的开源笔记Joplin
- 伯克利数学博士资格一考题
热门文章
- 大剑无锋之不都说面试不问mybatis,为什么我被虐了。。。【mybatis面试题】
- 使用基本工具类和预编译进行对数据库的增删改查
- java基础---二维数组方面的一些小编程
- 【PAT甲级 环最短距离】1046 Shortest Distance (20 分) Java、C++
- C++ STL栈Stack的使用
- JavaScript 使用变量访问对象属性
- java中实现同步的两种方式:syschronized和lock的区别和联系
- 满分最优解法:1007 素数对猜想 (20分)
- 14行代码AC_Break the Chocolate HDU-4112(数学推导+解析)
- python在函数内部访问外部全局变量的方法_在函数外部访问函数变量,而无需使用“全局”...