【问题标题】:element ui: unable to call resetField to reset single number inputs?元素 ui:无法调用 resetField 来重置单个数字输入?
【发布时间】:2019-05-12 14:34:55
【问题描述】:

我想重置元素 ui 中的单个数字输入字段...

根据文档应该有方法resetField: https://element.eleme.io/#/en-US/component/form#form-item-methods

我的数字输入是示例代码之后的 ruleForm 的一部分:

我试过了:

this.ruleForm.survivalYears.resetField()

this.$refs['ruleForm'].survivalYears.resetField()

我做错了什么?我目前的肮脏黑客看起来像这样:

this.ruleForm.survivalYears = -1 // assign some value to rerender
delete this.ruleForm.survivalYears

【问题讨论】:

  • 有时 $refs 在循环中是一个数组。你试过this.$refs['ruleForm'][0].survivalYears.resetField()吗?
  • 也是给定元素ref='ruleForm'?
  • 当我按照你的建议尝试时,我得到以下信息:Error in v-on handler: "TypeError: Cannot read property 'survivalYears' of undefined"
  • 元素问题看不懂,抱歉
  • 贴出声明你引用的元素的模板代码

标签: javascript vue.js vuejs2 element-ui


【解决方案1】:

首先,为什么不在el-input 上使用clearable 属性?

注意:您不能将clearable 属性与以下组合使用 readonly属性

<el-input clearable></el-input>

这本身就可以解决您的问题,即使您仍然喜欢使用resetField,那么据我所知,您可以通过以下两种方式做到这一点:

a:如果你喜欢参考&lt;el-form ref="myForm"&gt;

resetForm() {
  var index = Object.keys(this.formObj).indexOf('myName');
  this.$refs.myForm.fields[index].resetField();
}

b:如果你喜欢参考&lt;el-form-item ref="myName"&gt;

resetForm() {
  this.$refs.myName.resetField()
}

【讨论】:

    猜你喜欢
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2018-12-11
    • 1970-01-01
    相关资源
    最近更新 更多