【发布时间】:2019-05-08 04:17:38
【问题描述】:
我有一个默认设置为只读的输入字段,当您单击按钮时,应该可以编辑该项目。
没有只读字段,该字段似乎更新正确。
没有它,我编辑该项目,当焦点丢失时,它会恢复为之前的文本。
<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});
}
}
}
注意:存储已正确更新,但未触发 getter。 没有只读他会被触发。
可能是使用只读的不正确方式吗? 也试过这个而不是真/假。
:readonly="edit ? null : 'readonly'"
【问题讨论】: