element ui输入框有值却验证输入无效

为什么会产生这样的bug:因为表单没有获得焦点

1.首先这个组件是vue-cron嵌套的element ui input,但还是el-input影响不大

2.这是我遇到的问题,但它第二次点击保存时就好了,我为了解决这个一次性就能让输入框判断的方法,我想到的是输入框失去焦点。

3.解决这个办法:

<!-- 自定义vue-cron组件 -->
      <div slot="taskCronForm" slot-scope="{ row }" >
        <el-popover v-model="cronPopover" >
            <cron @change="changeCron" @close="cronPopover=false"></cron>
            <el-input slot="reference" @click="cronPopover=true" v-model="row.taskCron" 
            @blur="blurInput(row)"  ref="input"></el-input>
        </el-popover>
      </div>


data(){
    return {
        timer:null
    }
}

methods:{
    changeCron(val) { // vue-cron组件保存方法
          this.rows.taskCron = val;
            this.$refs.input.focus();
             this.$nextTick(() => { // 为什么要用定时器,为了解决任务表达式的框验证问题
              this.timer = setTimeout(() => {
              this.$refs.input.blur();

            },100)
          })
      },
    
}

beforeDestroy() {
    clearInterval(this.timer);        
    this.timer = null;
}

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Element UI 是一种基于 Vue.jsUI 框架,提供了丰富的组件和 API,使用方便简单。其中,输入框是一种常用的表单元素,可以让用户输入文本、数字等信息。而有时候,我们需要限制用户输入的内容,例如只允许输入正整数。 在 Element UI 中,限制输入正整数的方法很简单。只需要给输入框组件绑定一个事件,当输入框的值改变时,检查当前输入的值是否为正整数,如果不是,则清空输入框内容并提示用户输入错误。下面是一个实现过程的示例代码: ``` <template> <el-input v-model="inputValue" @change="checkInput"></el-input> </template> <script> export default { data() { return { inputValue: '' // 绑定输入框的值 } }, methods: { checkInput() { // 检查输入是否为正整数 const value = parseInt(this.inputValue) if (isNaN(value) || value <= 0) { // 如果不是正整数 this.$message.error('请输入正整数!') // 提示用户输入错误 this.inputValue = '' // 清空输入框的值 } } } } </script> ``` 在上述代码中,我们使用了 Element UI 提供的 `<el-input>` 组件来创建输入框,并通过 `v-model` 实现了数据的双向绑定。当输入框的值发生变化时,会触发 `@change` 事件,调用 `checkInput()` 方法进行检查。在该方法中,我们首先使用 `parseInt` 函数将输入的值转换为整数,然后判断该值是否为 NaN 或小于等于 0,如果是,则清空输入框的值并通过 `$message` 组件提示用户输入错误。 总之,通过以上实现代码,我们可以很方便地在 Element UI 中限制输入正整数,提高用户的输入效率和体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值