У меня есть поле ввода, которое по умолчанию установлено только для чтения, и когда вы нажимаете кнопку, можно редактировать элемент.
Без поля только для чтения, кажется, что поле обновляется правильно.
Без него я редактирую элемент, и когда фокус теряется, он возвращается к тексту, который был ранее.
<template>
<input ref="input"
:readonly="!edit"
type="text"
v-model="inputValue"
@blur="edit = false">
<button @click="editItem"/>
</template>
data(){
return {
edit: false,
}
}
methods: {
...mapMutations(['setKey']),
editItem() {
this.edit = true;
this.$nextTick( () => this.$refs.input.focus() );
}
}
computed: {
...mapGetters(['getKey']),
inputValue: {
get() {
return this.getKey();
}
set(value) {
this.setKey({value});
}
}
}
Примечание: хранилище обновлено правильно, но геттер не запущен.
Без чтения он срабатывает.
Может ли быть неправильный способ использования только для чтения?
Также попробовал это вместо true / false.
:readonly="edit ? null : 'readonly'"