Vue动态绑定、添加input

这个过程用到了Vue+element-ui

(1)首先给el-input加上v-for循环一个数据,并且v-model绑定这个数据中的属性,这样就可以在页面中展示所有的input框了,

(2)动态绑定:先模拟一个传过来或者是请求到的数据,循环遍历这个数据,并把每个数据中的属性赋值给之前el-input循环的那个数据中的属性,这里推荐for-of循环。

(3)动态添加:每点击一次就往el-input循环的那个数据中添加新的属性
 

<template>
  <div class="input_test">
    <el-input
      placeholder="请输入内容"
      v-for="(item, index) in modules"
      :key="index"
      v-model="item.text"
    ></el-input>
    <el-button type="success" @click="add">新增</el-button>
  </div>
</template>
 
<script>
export default {
  data() {
    return {
      inputList: ["inputOne", "inputTwo", "inputThree"],//模拟一个传过来或者是请求到的数据
      modules: [
        {
          text: "text",
        },
      ],
    };
  },
  methods: {
    add() {//动态添加input框
      this.modules.push({ text: "text" });
    },
  },
  watch: {},
  computed: {},
  components: {},
  created() {},
  mounted() {//动态绑定input框
    for (const iterator of this.inputList) {
      this.modules.push({ text: iterator });
    }
  },
};
</script>
 
<style lang="scss" scoped></style>

动态添加input输入可以使用v-for指令来实现。在模板,我们可以使用v-for指令遍历一个数组,并根据数组的长度动态生成多个input输入。在每个input输入,我们可以使用v-model指令来实现双向数据绑定,将输入的值与数组的对应项进行关联。当需要添加新的input输入时,我们可以通过点击按钮触发一个方法,在该方法向数组添加一个新的对象,对象可以包含id和label属性用于存储输入的值。下面是一个示例代码: ```html <template> <div> <div v-for="item in table" :key="item.id"> <input v-model="item.label"> </div> <button @click="addInput">添加</button> <button @click="search">查看</button> </div> </template> <script> export default { data() { return { table: [ { id: '12121', label: '' } ] } }, methods: { // 动态添加 addInput() { this.table.push({ id: Date.now(), label: '' }) }, // 查看 search() { console.log(this.table) }, } } </script> ``` 在上述示例,我们使用v-for指令遍历table数组,并根据数组的长度动态生成多个div和input元素。每个input元素通过v-model指令与table数组的对应项进行双向数据绑定。当点击添加按钮时,会调用addInput方法,向table数组添加一个新的对象。当点击查看按钮时,会打印出table数组的内容。这样就实现了动态添加input输入的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Vue+Element一步步实现动态添加Input_输入](https://blog.csdn.net/weixin_45785873/article/details/121220370)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值