VUE+elementUI把rules加到标签属性里面,可以根据某个状态来切换规则

 <el-form-item label="是否选则债务人单位" prop="sfjtgn">
          <el-switch v-model="form.sfjtgn" active-text="是" inactive-text="否" @change="updateZwrZt" />
        </el-form-item>
        <el-form-item
          label="债务人单位"
          prop="zwrZtId"
          :rules="{required:true,message:'请选择债务人单位',trigger:'change'}"
          v-if="form.sfjtgn"
        >
          <el-select
            v-model="form.zwrZtId"
            placeholder="请选择"
            @change="selectZwrZt(form.zwrZtId)"
            :disabled="form.sfjtgn ?false:true"
          >
            <el-input v-model="ztName" v-on:input="selectZtByZtName" />
            <el-option
              v-for="it in zwrZtIds"
              :key="it.id"
              :label="`${it.name}(${it.code})`"
              :value="it.id"
              v-show="it.id!=form.ztId"
            />
          </el-select>
        </el-form-item>

需要根据某个状态切换规则,如下

:rules="form.sfjtgn?{required:true,message:'请选择债务人账套',trigger:'change'}:{required:false}"

或者

:rules="{required:form.sfjtgn,message:'请选择债务人账套',trigger:'change'}"

注意:需要在data的return里面定义rules:{}