Home  >  Article  >  Web Front-end  >  Vue batch modification data implementation

Vue batch modification data implementation

WBOY
WBOYOriginal
2023-05-08 09:17:361122browse

Vue.js is a front-end framework developed in a data-driven and componentized manner, suitable for building complex single-page applications. In actual development, we often encounter the need to modify data in batches. This article will introduce how to use Vue.js to implement this function.

  1. Data preparation

First, you need to prepare the data. Suppose we have a list of employees, each employee has attributes such as name, position, gender, and age. We need to implement the function of modifying ages in batches.

We can use the data-driven features of Vue.js to store the employee list in an array, and each employee is represented by an object. The specific code is as follows:

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>姓名</th>
          <th>职位</th>
          <th>性别</th>
          <th>年龄</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(employee, index) in employees" :key="index">
          <td>{{employee.name}}</td>
          <td>{{employee.position}}</td>
          <td>{{employee.gender}}</td>
          <td>{{employee.age}}</td>
        </tr>
      </tbody>
    </table>
    <div>
      <button @click="editAge">批量修改年龄</button>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      employees: [
        { name: '张三', position: '经理', gender: '男', age: 30 },
        { name: '李四', position: '工程师', gender: '女', age: 25 },
        { name: '王五', position: '销售', gender: '男', age: 28 },
        { name: '赵六', position: '行政', gender: '女', age: 27 }
      ]
    }
  },
  methods: {
    editAge() {
      // 批量修改年龄的方法
    }
  }
}
</script>
  1. How to implement batch modification of data

Next, we need to implement a method of batch modification of age. We can add a new editAge method in the methods object of the component. The specific implementation steps are as follows:

(1) Define a variable age to represent the age that needs to be modified.

(2) Use the $set method of Vue.js to modify the age attribute of each employee to a new value.

(3) Reset the data source of the employee list. Here we use the set method of Vue.js to implement it. ”

The specific code is as follows:

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>姓名</th>
          <th>职位</th>
          <th>性别</th>
          <th>年龄</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(employee, index) in employees" :key="index">
          <td>{{employee.name}}</td>
          <td>{{employee.position}}</td>
          <td>{{employee.gender}}</td>
          <td>{{employee.age}}</td>
        </tr>
      </tbody>
    </table>
    <div>
      <label>修改年龄为:<input type="number" v-model="age" /></label>
      <button @click="editAge">批量修改年龄</button>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      employees: [
        { name: '张三', position: '经理', gender: '男', age: 30 },
        { name: '李四', position: '工程师', gender: '女', age: 25 },
        { name: '王五', position: '销售', gender: '男', age: 28 },
        { name: '赵六', position: '行政', gender: '女', age: 27 }
      ],
      age: ''
    }
  },
  methods: {
    editAge() {
      let newAge = parseInt(this.age)
      if (newAge === this.age || newAge < 0) {
        return
      }
      this.employees.forEach((employee, index) => {
        this.$set(this.employees[index], 'age', newAge)
      })
      this.$set(this, 'employees', this.employees)
    }
  }
}
</script>
  1. Interface display and function demonstration

Finally, we display the employee list and batch modification button on the page, demonstration The function of modifying age.

In Vue.js, we can use the v-model instruction to two-way bind the value of the input box to the age variable to ensure that the value entered by the user can be correctly passed to the editAge method. .

At the same time, we use the v-for command and the $set method to re-render the employee list. After modifying the employee age, the data on the page can be updated in time.

The specific code is as follows:

<template>
  <div>
    <table>
      <thead>
        <tr>
          <th>姓名</th>
          <th>职位</th>
          <th>性别</th>
          <th>年龄</th>
        </tr>
      </thead>
      <tbody>
        <tr v-for="(employee, index) in employees" :key="index">
          <td>{{employee.name}}</td>
          <td>{{employee.position}}</td>
          <td>{{employee.gender}}</td>
          <td>{{employee.age}}</td>
        </tr>
      </tbody>
    </table>
    <div>
      <label>修改年龄为:<input type="number" v-model="age" /></label>
      <button @click="editAge">批量修改年龄</button>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      employees: [
        { name: '张三', position: '经理', gender: '男', age: 30 },
        { name: '李四', position: '工程师', gender: '女', age: 25 },
        { name: '王五', position: '销售', gender: '男', age: 28 },
        { name: '赵六', position: '行政', gender: '女', age: 27 }
      ],
      age: ''
    }
  },
  methods: {
    editAge() {
      let newAge = parseInt(this.age)
      if (newAge === this.age || newAge < 0) {
        return
      }
      this.employees.forEach((employee, index) => {
        this.$set(this.employees[index], 'age', newAge)
      })
      this.$set(this, 'employees', this.employees)
    }
  }
}
</script>

Now, we can modify the age on the page and realize the function of batch modification of data. When the user clicks the button, the ages of all employees will be uniformly modified to the new value. The changes in the data will be It is reflected on the interface in real time, and users can see the modification results in time.

  1. Summary

Using Vue.js to modify data in batches is a very practical function. Through a specific example, this article demonstrates how to use the data-driven and componentized features of Vue.js to easily implement the function of modifying data in batches. I hope readers can better understand the use of Vue.js through the introduction of this article, and Be applied and improved in actual development.

The above is the detailed content of Vue batch modification data implementation. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:How nodejs is distributedNext article:How nodejs is distributed