elementUI 表单输入,第二次无法输入bug

最近又写bug了,点击按钮弹出一个对话框 提交内容,这里使用element UI中的dialog组件和form表单组件。第一打开可以正常输入内容,第二次打开就不可以输入了。

直接上代码:

<el-dialog
      title="表单提交"
      :visible.sync="editVisible"
      v-if="editVisible"
      width="650px"
      :before-close="handleEditClose"
    >
      <el-form label-position="right" label-width="80px">
        <el-form-item label="姓名">
          <el-input
            v-model="editForm.name"
            placeholder="请输入"
          ></el-input>
        </el-form-item>
        <el-form-item label="年龄">
          <el-input
            v-model.number="editForm.age"
            placeholder="请输入0~255的数字值"
          ></el-input>
        </el-form-item>
      </el-form>

      <span slot="footer" class="dialog-footer">
        <el-button @click="editVisible = false">取 消</el-button>
        <el-button type="primary" ">确 定</el-button>
      </span>
    </el-dialog>

 关闭输入框的时候的回调。下面是正确的写法

 当时也是为了偷懒 写出了如下问题代码

 原因:data数据中没有默认值导致 v-model中找不到数据 就会导致输入框无法输入。

handleEditClose(){
      this.editVisible = false;
      //关闭弹窗之后清空
      this.editForm = {
        name: "",
        age: "",
      }; 
    },

数据绑定的内容

 editForm: {
       name: "",
       age: "",
    },

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
你可以使用 `el-input` 组件的 `rules` 属性来进行表单验证。以下是一个验证输入框只能输入正整数的示例: HTML 代码: ```html <template> <el-form :model="form" ref="form" :rules="rules"> <el-form-item label="正整数"> <el-input v-model="form.number"></el-input> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm">提交</el-button> </el-form-item> </el-form> </template> ``` JavaScript 代码: ```js export default { data() { return { form: { number: '' }, rules: { number: [ { required: true, message: '请输入正整数', trigger: 'blur' }, { pattern: /^[1-9]\d*$/, message: '请输入正整数', trigger: 'blur' } ] } } }, methods: { submitForm() { this.$refs.form.validate(valid => { if (valid) { // 表单验证通过,执行提交操作 } else { // 表单验证失败,提示错误信息 } }) } } } ``` 在上述代码中,我们使用 `rules` 属性来定义表单验证规则。`rules` 是一个对象,它的键是表单项的 `prop` 属性,值是一个数组,其中每个元素是一个验证规则对象。在这个例子中,我们为 `number` 表单项定义了两个验证规则: - `{ required: true, message: '请输入正整数', trigger: 'blur' }`,表示该表单项必填,且在失去焦点时进行验证; - `{ pattern: /^[1-9]\d*$/, message: '请输入正整数', trigger: 'blur' }`,表示该表单项的值必须符合正整数的正则表达式,且在失去焦点时进行验证。 这样,我们就实现了一个表单验证输入框只能输入正整数的功能。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值