แบบฟอร์มสำหรับแก้ไขอาร์เรย์ของวัตถุใน Vue

ตอนนี้เรามาลองทำการแก้ไของค์ประกอบของอาร์เรย์ของวัตถุกัน เราจะสร้างปุ่มสำหรับสิ่งนี้ เมื่อคลิกที่ปุ่มในรายการ รูปแบบสำหรับการแก้ไขจะปรากฏขึ้น หลังจากกรอกแบบฟอร์มเสร็จเราจะกดปุ่มบันทึก และการเปลี่ยนแปลงจะถูกบันทึกลงในอาร์เรย์ ในขณะที่แบบฟอร์มจะถูกซ่อนไป

มาเริ่มลงมือทำกันเถอะ ในอาร์เรย์ของวัตถุแต่ละวัตถุ เราต้องเพิ่มฟิลด์อีกหนึ่งฟิลด์ซึ่งเก็บสถานะของผู้ใช้ว่าจะแสดงผลหรืออยู่ในโหมดแก้ไข:

App.vuedata() {
  return {
    users: [
      {
        id: 1,
        name: 'name1',
        surn: 'surn1',
        isEdit: false,
      },
      {
        id: 2,
        name: 'name2',
        surn: 'surn2',
        isEdit: false,
      },
      {
        id: 3,
        name: 'name3',
        surn: 'surn3',
        isEdit: false,
      },
    ]
  }
}

เราจะแสดงเนื้อหาของอาร์เรย์ในรูปแบบของรายการ:

App.vue<template>
  <ul>
    <li v-for="user in users" :key="user.id">
      {{ user.name }}
      {{ user.surn }}
    </li>
  </ul>
</template>

ตอนนี้เราแยกโหมดแสดงผลและโหมดแก้ไขออกจากกัน:

App.vue<template>
  <ul>
    <li v-for="user in users" :key="user.id">
      <template v-if="!user.isEdit">
        {{ user.name }}
        {{ user.surn }}
        <button @click="edit(user)">
          edit
        </button>
      </template>
      <template v-else>
        <input v-model="user.name">
        <input v-model="user.surn">
        <button @click="save(user)">
          save
        </button>
      </template>
    </li>
  </ul>
</template>

เราจะปรับใช้เมธอด:

App.vuemethods: {
  edit(user) {
    user.isEdit = true;
  },
  save(user) {
    user.isEdit = false;
  },
}
Задание 1

ปรับเปลี่ยนงานจากบทเรียนที่แล้ว เพื่อให้มีคอลัมน์ที่มีลิงก์สำหรับแก้ไขข้อมูลพนักงานแต่ละคน