【发布时间】:2022-11-29 12:23:59
【问题描述】:
我正在尝试为页面上的每个项目创建按钮和 vue 元素输入。我正在遍历这些项目并使用 v-for 呈现它们,所以我决定扩展它并为其余两个做同样的事情。我遇到的问题是我需要将textInput 和displayTextbox 绑定到每个,但我不确定如何实现。
目前 el-inputs 中的所有输入文本都绑定到同一个变量,单击以显示输入将一次显示所有输入。
<template>
<div class="container">
<div v-for="(item, index) in items" :key="index">
<icon @click="showTextbox"/>
<el-input v-if="displayTextbox" v-model="textInput" />
<el-button v-if="displayTextbox" type="primary" @click="confirm" />
<ItemDisplay :data-id="item.id" />
</div>
</div>
</template>
<script>
import ItemDisplay from '@/components/ItemDisplay';
export default {
name: 'ItemList',
components: {
ItemDisplay,
},
props: {
items: {
type: Array,
required: true,
},
}
data() {
displayTextbox = false,
textInput = '',
},
methods: {
confirm() {
// todo send request here
this.displayTextbox = false;
},
showTextbox() {
this.displayTextbox = true;
}
}
}
</script>
【问题讨论】:
-
您可以为模型使用
displayTextbox数组吗?
标签: vue.js