vue.js - 当输入字段的数量不恒定时,Vue.js如何从输入字段中收集值
问题描述
我的用例
- 我从后端 API 获得了一个包含输入字段名称的数组。
- 我将这些名称与输入字段一起呈现。
这是我的代码。
<template>
<div class="itemGenerate">
<div>
<ul>
<li v-for="identifier in identifiers" :key="identifier">
<input type="text" value=""/>{{identifier.name}}
</li>
</ul>
<button type="button">Add</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
identifiers: [{ name: "Flavour" }, { name: "Size" }, { name: "Color" }]
};
}
};
我的问题是
这些输入字段不是恒定的。它会在每个 API 调用中发生变化(有时它只是颜色,有时是颜色、大小和另一个新事物)。
如果我知道输入字段的数量,我会使用v-model
,但我不能在这里使用,因为它不是预定义的。
如何使用 vue.js 实现这一点?
解决方案
试试这个
<template>
<div class="itemGenerate">
<div>
<ul>
<li v-for="identifier in identifiers" :key="identifier">
<input type="text" v-model="item[identifier.name]"/>{{identifier.name}}
</li>
</ul>
<button type="button">Add</button>
</div>
</div>
</template>
<script>
export default {
data() {
return {
item:{},
identifiers: [{ name: "Flavour" }, { name: "Size" }, { name: "Color" }]
};
}
};
推荐阅读
- python - SQLAlchemy 要求为查询设置别名,但在生成的 SQL 中未使用该别名
- reactjs - 尝试修复合并冲突后,如何从损坏的 node_modules 中恢复?
- django - 如何通过反向方法传递模式
- node.js - 如何在 Ubuntu LXC 容器中运行一个简单的 Hello World 节点 js 应用程序?
- windows - Windows 上的文本到语音转换:我能否以某种方式“削减”该功能并在 Linux 上合成相同的语音?
- typescript - 带有扩展运算符的打字稿构造函数
- javascript - 如何在 html div 标签中打印图像?
- security - ADFS 4.0 (2016) API 资源的机密和本机客户端注册
- php - ElasticSearch/ElasticCloud - 连接被拒绝
- javascript - 如何在输入文件中获取选定的路径?