使用情况,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="编辑"></i> <div v-if="passSaveShow[index]"> <i @click="passSaveDate(index)" title="保存提交"></i> <i @click="passCancel(index)" title="取消"></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表单中遍历表单操作按钮的显示隐藏示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章: