element-ui禁用指定行

假设你有一个表单,其中包含多个输入框和按钮,你想要禁用表单中的某些输入框和按钮。

<template>
  <el-form :model="form" ref="form">
    <el-form-item label="用户名" prop="username">
      <el-input v-model="form.username" :disabled="isDisabled('username')" />
    </el-form-item>
    <el-form-item label="密码" prop="password">
      <el-input type="password" v-model="form.password" :disabled="isDisabled('password')" />
    </el-form-item>
    <el-form-item>
      <el-button @click="submit" :disabled="isDisabled('submit')">提交</el-button>
      <el-button @click="reset" :disabled="isDisabled('reset')">重置</el-button>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      form: {
        username: '',
        password: ''
      },
      disabledFields: ['username', 'submit'] // 要禁用的字段
    };
  },
  methods: {
    isDisabled(field) {
      return this.disabledFields.includes(field);
    },
    submit() {
      this.$refs.form.validate(valid => {
        if (valid) {
          // 提交表单
        }
      });
    },
    reset() {
      this.$refs.form.resetFields();
    }
  }
};
</script>

改进:编辑/新增/……多弹框公用一个表单禁用行不一样

//html
<el-divider content-position="left"><span style="font-size: 18px;font-weight:600;">规格信息</span></el-divider>
              <el-form-item label="规格名称" prop="coupon_sku_name">
                <el-input v-model="couponForm.coupon_sku_name" autocomplete="off" :disabled="isDisabled('coupon_sku_name')"></el-input>
              </el-form-item>
              <el-form-item label="实际支付价格" prop="price">
                <el-input v-model="couponForm.price" autocomplete="off" :disabled="isDisabled('price')"></el-input>
              </el-form-item>
              <el-form-item label="原价" prop="original_price">
                <el-input v-model="couponForm.original_price" autocomplete="off" :disabled="isDisabled('original_price')"></el-input>
              </el-form-item>


//data
addOrEditLimits: [],//新增或编辑禁用名单
freeLimits: ['stock_name','available_begin_time','coupon_sku_name','price','original_price','stock_type', 'tiktok_store_id_gather','images','use_date_type','day_duration','use_start_date','use_end_date','is_limit','total_buy_num'],//免审修改商品禁用名单
stockLimits: ['stock_name','available_begin_time','available_end_time','coupon_sku_name','price','original_price',
                            'tiktok_store_id_gather','images','use_date_type','day_duration','use_start_date','use_end_date','is_limit','total_buy_num'],//同步库存禁用名单
disabledList: [],//最终禁用名单

//methods
// 打开弹框
            openDialog(type,row) {
                this.dialogType = type;
                switch (type) {
                    case 'add':
                        this.disabledList = this.addOrEditLimits;
                        this.couponDialogTitle = '新增代金券';
                        this.couponDialog = true;
                        break;
                    case 'edit':
                        this.disabledList = this.addOrEditLimits;
                        this.couponDialogTitle = '编辑代金券';
                        this.backfillCoupon(row);
                        break;
                    case 'free':
                        this.disabledList = this.freeLimits;
                        this.couponDialogTitle = '修改商品';
                        this.backfillCoupon(row);
                        break;
                    case 'stock':
                        this.disabledList = this.stockLimits;
                        this.couponDialogTitle = '同步库存';
                        this.backfillCoupon(row);
                        break;
                
                    default:
                        break;
                }
            },

isDisabled(field) {
                return this.disabledList.includes(field);
            },

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值