Я пытаюсь использовать вычисленное свойство для отслеживания значения в компоненте 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: ""
}
}
Как лучше всего добиться желаемого поведения?
this.temp="";
- person Bhojendra Rauniyar   schedule 21.03.2018setter
, а не вgetter
. Получатель должен всегда возвращать только значение, а не логику против значения. - person Ohgodwhy   schedule 21.03.2018