验证规则消息提示显示在下拉框内

文章介绍了在Vue.js中使用ElementUI构建一个带有动态提示的表单,包含活动区域选择器和表单验证功能,当用户选择区域后,提示消失,未选则显示默认提示。
摘要由CSDN通过智能技术生成
<template>
  <el-form
    :model="ruleForm"
    :rules="rules"
    ref="ruleForm"
    label-width="100px"
    class="demo-ruleForm"
    style="width: 300px"
    :show-message="false"
  >
    <el-form-item label="活动区域" prop="region">
      <el-select
        v-model="ruleForm.region"
        :placeholder="myText"
        clearable
        id="select"
        @focus="onFocus"
        @blur="onblur"
      >
        <el-option label="区域一" value="shanghai"></el-option>
        <el-option label="区域二" value="beijing"></el-option>
      </el-select>
    </el-form-item>
    <el-form-item>
      <el-button type="primary" @click="submitForm('ruleForm')"
        >立即创建</el-button
      >
      <el-button @click="resetForm('ruleForm')">重置</el-button>
    </el-form-item>
  </el-form>
</template>

<script>
export default {
  data() {
    return {
      myText: "请选择活动区域",
      ruleForm: {
        region: "",
      },
      rules: {
        region: [
          {
            required: true,
            message: "请选择活动区域",
            trigger: "blur",
          },
        ],
      },
    };
  },
  methods: {
    submitForm(formName) {
      this.$refs[formName].validate((valid) => {
        if (valid) {
          alert("submit!");
        } else {
          const dom = document.getElementById("select");
          dom.classList.add("test");
          return false;
        }
      });
    },
    resetForm(formName) {
      this.$refs[formName].resetFields();
    },
    onFocus() {
      console.log("onFocus");
      this.myText = null;
      const dom = document.getElementById("select");
      dom.classList.remove("test");
    },
    onblur() {
      console.log("blur");
      this.myText = "请选择活动区域";
      this.$refs.ruleForm.clearValidate()
    },
  },
};
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="less" scoped>
/deep/.test::placeholder {
  color: #f56c6c;
}
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值