Как сделать поле ввода только для чтения, а затем сделать его редактируемым нажатием кнопки в vuejs?
// это мои 2 деления, которые я должен сначала сделать readonly или по умолчанию, затем, нажав кнопку редактирования, я хочу удалить readonly и сделать его редактируемым
<div>
<input type="text"
placeholder="Example@scio.com" v-model="userDetails.email ">
</div>
<div>
<input type="text" placeholder="+91 860 420 3001"
v-model="userDetails.contactNumber">
</div>
// это мой значок, по щелчку которого должно быть выполнено вышеуказанное действие!!
<img class="pencil-image"
src="/static/images/pencil-edit-button@2x.png"
@click="editProfile">
пожалуйста, помогите мне с решением, которое будет работать в vuejs
2 ответа
Решение
<div id="app">
<input type="text" :readonly="shouldDisable" v-model="text"> <button @click="clicked">Edit</button>
<hr>
<p>The value of input is: {{text}}</p>
</div>
new Vue({
el: "#app",
data: {
text: 'text',
shouldDisable: true
},
methods: {
clicked() {
this.shouldDisable = false
}
}
})
Привязать <input>
"s readonly
атрибут для свойства данных. Например, если ваш компонент имел readonly
свойство, вы можете привязать к нему, как это:
<input :readonly="readonly">
new Vue({
el: '#app',
data() {
return {
readonly: true
}
},
methods: {
editProfile() {
this.readonly = false
}
}
})
<script src="https://unpkg.com/vue@2.5.16"></script>
<div id="app">
<input type="text" :readonly="readonly" placeholder="Example@scio.com">
<button @click="editProfile">Make input editable</button>
</div>