我正在尝试使用计算属性来监视ElementUI
的el-input
组件中的值,但我想要的值没有显示在组件中。具体来说,当用户键入输入时,我想将长度限制为三个字符,而不让输入显示更多。例如,我不希望用户键入 5 个字符的行为,然后当el-input
不在焦点时,值得到更正。我意识到有一个maxlength
属性,但我想让验证更通用。作为对此的扩展,我希望能够在内容上调用任何类型的函数el-input
并显示该函数的结果。这就是我现在正在做的事情:
模板:
<el-input
:placeholder="placeholder"
:value="inputValue"
@keypress.enter.native="$emit('keypress-enter',event)"
@input="input"
:disabled="disabled"
:autosize="true"
:readonly="readonly"
:type="inputType"
:rows="rows"
v-model="inputValue"
>
</el-input>
脚本:
computed: {
inputValue: {
get: function(){
return this.temp;
// This is what I eventually want to do
// return this.validationFunction.f(this.temp);
},
set: function(newVal) {
// This is what I'm doing right now to test
this.temp = "";
this.temp = (newVal.length > 3) ? newVal.slice(0,3) : newVal;
}
},
},
data: {
return {
temp: ""
}
}
获得所需行为的最佳方法是什么?