gpt4 book ai didi

vue.js - 使用 Vue 单击以编辑文本字段

转载 作者:搜寻专家 更新时间:2023-10-30 22:09:43 25 4
gpt4 key购买 nike

我正在使用 Vue js,但在编辑字段时遇到问题。当我单击一个字段进行编辑时,所有 可编辑字段都变为事件状态。这是我的代码。

 export default {
props: ['profileHeight'],

data() {
return {
User: User,
isEditing: false,
form:{
name:'',
email: '',
},
};
},

mounted() {
},

methods: {
activateInEditMode() {
this.isEditing = true
},
deActivateInEditMode() {
this.isEditing = false
}
}
}
 <span>Profile settings</span>
<p>Full name<span v-on:click="activateInEditMode" v-show="!isEditing">{{User.state.auth.name}}</span>
<span v-show="isEditing" >
<input v-model="form.name" type="text" class="form-control" >
</span>
</p>

<p>E-mail<span>{{User.state.auth.email}}</span>
<span v-show="isEditing" >
<input v-model="form.email" type="text" class="form-control" >
</span>
</p>

enter image description here

最佳答案

尝试使用 focus 和 blur 方法来显示/隐藏表单元素!希望这对您有所帮助!

                            
new Vue({
el: '#app',
data(){
return {
user : {
name: '',
email: ''
},
editField : ''
}
},
methods : {
focusField(name){
this.editField = name;
},
blurField(){
this.editField = '';
},
showField(name){
return (this.user[name] == '' || this.editField == name)
}
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.3.4/vue.min.js"></script>
<div id="app">
<h1>Profile settings</h1>
<label for="user-name">Full name</label>
<div class="field">
<span class="field-value" v-show="!showField('name')" @click="focusField('name')">{{user.name}}</span>
<input v-model="user.name" v-show="showField('name')" id="user-name" type="text" class="field-value form-control" @focus="focusField('name')" @blur="blurField">
</div>

<label for="user-email">Email address</label>
<div class="field">
<span class="field-value" v-show="!showField('email')" @click="focusField('email')">{{user.email}}</span>
<input v-model="user.email" v-show="showField('email')" type="email" class="field-value form-control" @focus="focusField('email')" @blur="blurField">
</div>
</div>

关于vue.js - 使用 Vue 单击以编辑文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45050119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com