vue表单中遍历表单中操作按钮的显示隐藏

本文介绍在Vue应用中如何处理表单中操作按钮的显示和隐藏。关键在于利用数组来动态控制v-if,通过push和splice方法更新数组达到显示或隐藏的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用情况,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>&nbsp;
    <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]);
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值