this.$set使用

  • Post author:
  • Post category:其他


模板部分

需求:

输入项目名字后先判断是否存在,已存在则无需输入调整,默认显示0.8

 <el-form-item label="项目名字" prop="projectName" v-if="!form.id">
            <el-input placeholder="项目名字"  v-model="form.projectName" style="width: 300px;" :disabled="form.id"   @change=projectChange()/>
          </el-form-item>
          <el-form-item label="调整" prop="threshold">
            <el-input placeholder="调整,输入范围 0.00-1.00"  v-model="form.threshold" style="width: 300px;"/>
          </el-form-item>

data
 var validatethreshold=(rule, value, callback) => {
      var reg= /^[0-1]{1}([.]([0-9]){1,2})?$/  //正则表达式判断只能输入0-1之间两位小数
       
      if (reg.test(value)==false||value>1) {
        callback(new Error("输入数字范围为0.00-1.00,最多输入两位小数"));
      } else {
        callback();
      }
    };
      form:{
      projectName:null,
      threshold:null
    },
method中
projectChange(){
      initData('api, {projectName:this.form.projectName}).then(res => {  
     if(res==9){//返回条件
          //this.projectSel=true
        this.$set(this.form,"threshold",0.8)//this.$set响应式赋值改变,会重新渲染,改变项目名字后重新查询可以更改
         }else if(res==1){ 
          //this.projectSel=false;
        }

    //   }).catch(err => {
    //     console.log(err)
    //   })



版权声明:本文为m0_46404694原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。