使用情况,vue中返回的数据循环遍历如果用到v-if时不能直接赋值true 或者false,要true 或者false push到数组里面,隐藏或显示时用 splice方法。
以下是详情
1. 第一步先在data中定义数组
data () { return { passSaveShow: [], // 通行组保存和取消的显示隐藏 passEditShow: [], // 通行组编辑的显示隐藏 checkedUnLink: [], // 取消关联是否选中 valDate: [], // 有效期显示 pickDateShow: [], // 日期插件隐藏 linkedValue: [], showImg: false, // 是否放大图片 imgSrc: '', // 图片的路径 checkName: '', // 输入姓名关键字 checked: false, checkLists: [], checkPage: { page: 1, count: 2, total: 0 } }; }
2.页面中使用
<td> <i v-if="passEditShow[index]" @click="editValDate(index)" title="编辑" class="el-icon-edit-outline"></i> <div class="passSave" v-if="passSaveShow[index]"> <i @click="passSaveDate(index)" title="保存提交" class="el-icon-circle-check"></i> <i @click="passCancel(index)" title="取消" class="el-icon-circle-close"></i> </div> </td>
3.重要的一步,push到数组中
// 初始化加载数据 mounted () { let groupId = this.$props.perGroupInfo.id; let page = 1; let count = this.checkPage.count; let expired = 0; console.log(groupId); let url = `api/groupemp/linked?page=${page}&count=${count}&groupId=${groupId}&expired=${expired}`; this.$https.get(url).then(res => { console.log('查看初始化数据'); console.log(res); console.log(res.data.data); console.log('查看初始化数据尾'); this.checkLists = res.data.data; this.checkPage.total = res.data.Total; this.checkLists.forEach((item, index) => { this.valDate.push(true); this.pickDateShow.push(false); this.passSaveShow.push(false); this.passEditShow.push(true); }); }).catch(err => { console.log('查看初始化数据报错'); console.log(err); }); },
4.更改按钮的显示隐藏,使用splice ,不能直接更改
// 修改有效期 editValDate (val) { this.passEditShow.splice(val, 1, false); this.passSaveShow.splice(val, 1, true); this.valDate.splice(val, 1, false); this.pickDateShow.splice(val, 1, true); // console.log(this.valDate[val]); // console.log(this.pickDateShow[val]); },
以上这篇vue表单中遍历表单操作按钮的显示隐藏示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。