avue实现动态显隐,动态控制

  需求:
       一个select选择框,选择数据变化,控制其他输入框的显隐,是否可输入控制
   
   avue 实现
    
  动态控制 显隐,可操作性,实现方案:
   1.change事件
   2.watch 侦听器
        
   display

        主要注意属性display 为true  展示   为false 隐藏

        {
              display:false,
              search:true,
              label: "所属机构",
              prop: "ssjgid",
              type: "tree",
              multiple: false,
              dicData: [],
              props: {
                label: "title"
              },
              checkStrictly: true,
              slot: true,
              rules: [{
                required: true,
                message: "请选择所属机构",
                trigger: "click"
              }]
            },

     watch: {
      'form.gllx'(val) {
        let ssjgid =this.findObject(this.option.column,'ssjgid');
        let gllxbm =this.findObject(this.option.column,'gllxbm');
        if(val == 1){
          ssjgid.display = false;
          gllxbm.display = true;
        }else if(val == 2){
          ssjgid.display = true;
          gllxbm.display = false;
        }
      },
    },

   disable

     主要注意属性 disabled 为true不能操作,为false可以进行操作
      {
              labelWidth:120,
              label: "单品",
              prop: "dppsf",
              rules: [{
                required: true,
                message: "请输入",
                trigger: "blur"
              }],
              formatter:function(row,value){
                return value/100;
              },
              disabled:false,
            },

       我测试的时候有个小bug disabled 必须要有值。

      watch: {
      'form.jglx'(val) {
        let spdj =this.findObject(this.option.column,'spdj');
        if(val == 0){
          spdj.disabled = true;
          dpzj.disabled = false;
          dppsf.disabled = false;
        }else if(val == 1){
          spdj.disabled = true;
          dpzj.disabled = true;
          dppsf.disabled = true;
        }else if(val == 2){
          spdj.disabled = false;
          dpzj.disabled = false;
          dppsf.disabled = false;
        }
      },
     
   change事件实现类似: 
       column: [{
            label: '姓名',
            prop: 'name',
            change: ({value,column}) => {
              this.$message.success('查看控制台',value,column)
              console.log('值改变')
            }

  • 8
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值