vue-vux使用 cell/cell-box 组件 点击展开其他内容的时候修改过的数据会复原解决思路之一
2018-03-28 12:13
876 查看
问题描述
vue-vux使用cell/cell-box组件,点击展开其他内容的时候修改过的数据会复原。
但其实,在数据库已经修改好了,这个时候使用APP者还以为还没修改过数据。
解决思路
解决思路之一改变数据源,重新渲染数据的时候就不会复原。(更人性化)
解决思路之二
重新请求查询。
示例
<div v-for="item in this.dataList.data"> <cell :title="item.GROUPNAME" is-link class="cell2" :border-intent="false" :arrow-direction="item.isLeft ? 'down' : 'left'" @click.native="getSoller(item.isLeft=!item.isLeft)"> </cell> <div v-show="item.isLeft"> <cell-box :border-intent="false" class="sub-item" v-for="name in item.saleList" border-intent> <span>{{name.USERNAME}}</span> <select :id="name.USERCODE" @change='selectChange(name, name.USERCODE, item.USERCODE)'> <option value="0" :selected="name.STATUS==0?'selected':''">上班</option> <option value="1" :selected="name.STATUS==1?'selected':''">停岗</option> <option value="2" :selected="name.STATUS==2?'selected':''">外勤</option> <option value="3" :selected="name.STATUS==3?'selected':''">休假</option> </select> </cell-box> </div> </div>
selectChange(name, val, groupid) { var params = { projId: this.$store.state.core.loginInfo.projId, userCode: name.USERCODE, userStatus: $('#'+val+' option:selected').val() } var _this = this this.$http.post(this.HOST + '/online/attendanceSetting.do', params, { emulateJSON: true }) .then(function(data) { if (data.body.success==true) { _this.$vux.toast.show({ text: data.body.data, type: 'text', width: '200px',time: 3000, }) _this.changeListData(groupid, params.userCode, params.userStatus); _this.$nextTick(() => { try { _this.$refs.scroller.reset() } catch(e) { 9a17 } }) } }, function(err) { console.log("err", JSON.stringify(err)); }); }, // 改变数据源,重新渲染数据的时候就不会复原 changeListData(groupid, userCode, userStatus) { this.dataList.data.forEach((qq) => { if (qq.USERCODE==groupid) { for (var i = 0; i < qq.saleList.length; i++) { if (qq.saleList[i].USERCODE==userCode) { qq.saleList[i].STATUS = userStatus } } } }) },
其实,在这个示例里,对于这种问题还可以考虑用组件的方式来解决(即将for循环的对象写成组件,就不必去取什么id了,这个是题外话了,额。。),但是这句话跟本博客没关系,只是针对这个示例。额。。。。。
相关文章推荐
- 解决点击cell 使其他cell里的控件改变思路
- asp.net 数据绑定 使用eval 时候报 字符文本中的字符太多 问题的解决方法
- 当TextView或者EditView的内容发生变化时,其他组件及时给予响应时,我们可以使用TextWatcher来实现。
- asp.net 数据绑定 使用eval 时候报 字符文本中的字符太多 问题的解决方法
- 新闻管理模块(在程序中可以使用的一套完整的增添、修改、查询数据的思路)
- 解决href使用onclick方法时点击该链接的时候不会跳转页面.但是滚动条会往上滚的问题
- 使用ASP.NET页面创建可视的UI,在客户机上实例化MSXML分析器的页面从中间层组件取出XML数据、操作并显示 并有问题请高手解决
- C# 中使用iTextSharp组件修改PDF元数据(title,Keywords等)
- 【使用JSOUP实现网络爬虫】修改数据-设置一个元素的HTML内容
- 使用MySQL保存中文数据时,经常会遇到乱码问题的解决思路
- 【使用JSOUP实现网络爬虫】修改数据-设置元素的文本内容
- 在datagrid里实现文章内容在点击标题的时候收起或者展开的效果
- 在使用Ajax请求返回json数据的时候IE浏览器弹出下载保存对话框的解决方法
- 『PHP』UTF8编码页面存入GBK数据时使用iconv遇到无法转码的字符时中断内容丢失及解决方法
- 标准功能模块组件 -- “文档管理组件,网络文档管理,网络存储”,B\S版本组件可独立运行,也可集成到其他项目里,数据结构清晰思路严谨
- Wordpress迁移到其他服务器上 IP 变动时候要修改的内容
- 使用观察者模式解决ViewPager加载照片中更新其他Fragment内容
- php使用mysqldump命令导出数据 文件内容为空 的解决(密码不能为空)
- 使用迭代器遍历List的时候修改List报ConcurrentModificationException异常的解决办法
- asp.net 数据绑定 使用eval 时候报 “字符文本中的字符太多” 问题解决