vue-vux使用 cell/cell-box 组件 点击展开其他内容的时候修改过的数据会复原解决思路之一

问题描述

vue-vux使用 cell/cell-box 组件,点击展开其他内容的时候修改过的数据会复原。
但其实,在数据库已经修改好了,这个时候用户还以为还没修改过数据。


解决思路

解决思路之一
改变数据源,重新渲染数据的时候就不会复原。(更人性化)

解决思路之二
重新请求后台查询。(当然重新查询是最简单的实现方式,但是有些项目需求不许我们这么做)

本博客将按照思路来解决这个小问题。


示例

<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 _this = this, params = {
    projId: "", userCode: "",
    userStatus: $('#'+val+' option:selected').val() //获取