Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan tag senarai dalam Vue untuk melaksanakan fungsi penyuntingan klik dua kali

Cara menggunakan tag senarai dalam Vue untuk melaksanakan fungsi penyuntingan klik dua kali

PHPz
PHPzasal
2023-04-17 11:30:242018semak imbas

Vue ialah rangka kerja JavaScript yang sangat popular yang membolehkan pembangun membina antara muka interaktif dengan cepat. Antaranya, Vue menyediakan banyak komponen dan arahan praktikal, seperti tag senarai, untuk menjadikan kerja pembangunan lebih mudah. Dalam pembangunan sebenar, kita biasanya perlu melaksanakan operasi interaktif seperti penyuntingan dan pemadaman dalam senarai. Artikel ini akan memperkenalkan cara menggunakan teg senarai dalam Vue untuk melaksanakan fungsi pengeditan klik dua kali.

1. Teg senarai

Dalam Vue, kita boleh menggunakan arahan v-for untuk memaparkan senarai, contohnya:

<div v-for="(item, index) in items">{{item}}</div>

Di sini, items ialah tatasusunan , arahan v-for akan menjadikan setiap elemen dalam tatasusunan sebagai elemen <div>. Kita juga boleh menggunakan arahan v-bind:key untuk menentukan pengecam unik bagi setiap elemen, contohnya:

<div v-for="(item, index) in items" v-bind:key="item.id">{{item.name}}</div>

Di sini, dengan mengandaikan bahawa setiap elemen mempunyai atribut id yang unik, kita boleh menggunakan v-bind:key arahan untuk menentukan.

2. Laksanakan pengeditan dwiklik

Dalam senarai, selalunya perlu untuk melaksanakan operasi penyuntingan. Dalam Vue, kami boleh menggunakan peristiwa klik dua kali untuk mencetuskan operasi pengeditan. Mula-mula, kita boleh menambah v-for pendengar acara untuk setiap elemen dalam @dblclick, contohnya:

<div v-for="(item, index) in items" v-bind:key="item.id" @dblclick="editItem(index)">
  {{item.name}}
</div>

Di sini, apabila elemen diklik dua kali, kaedah editItem akan dicetuskan, dan Lulus indeks elemen dalam tatasusunan. Kaedah editItem boleh melaksanakan operasi membuka kotak edit, contohnya:

methods: {
  editItem(index) {
    this.editingIndex = index;  // 设置当前编辑元素的索引
    this.editingValue = this.items[index].name;  // 设置当前编辑元素的值
  }
}

Dalam kod di atas, editingIndex dan editingValue mewakili indeks dan nilai elemen yang sedang diedit , masing-masing. Melalui acara klik dua kali, kita boleh menyimpan indeks dan nilai elemen yang sedang diedit.

Seterusnya, kita perlu menunjukkan dan menyembunyikan kotak edit. Kami boleh menggunakan bendera showEditingField untuk menunjukkan sama ada kotak edit perlu dipaparkan, contohnya:

<div v-for="(item, index) in items" v-bind:key="item.id" @dblclick="editItem(index)">
  <div v-if="index !== editingIndex">{{item.name}}</div>
  <div v-else>
    <input type="text" v-model="editingValue">
    <button @click="saveItem">保存</button>
    <button @click="cancelEdit">取消</button>
  </div>
</div>

Di sini, kami menggunakan arahan v-if untuk mengawal kandungan paparan berdasarkan indeks dan penyuntingan status elemen semasa. Jika elemen semasa bukan elemen yang sedang diedit, nilai asal elemen dipaparkan jika tidak, kotak input dan butang simpan dan batal dipaparkan.

Apabila pengguna mengklik butang simpan, kami boleh melakukan operasi simpan dan menetapkan semula keadaan pengeditan. Operasi simpan boleh mengemas kini nilai elemen yang sepadan dalam tatasusunan, contohnya:

methods: {
  saveItem() {
    this.items[this.editingIndex].name = this.editingValue;
    this.editingIndex = -1;
    this.editingValue = "";
  },
  cancelEdit() {
    this.editingIndex = -1;
    this.editingValue = "";
  }
}

Di sini, kami menggunakan this.items[this.editingIndex].name = this.editingValue untuk mengemas kini nilai elemen yang sepadan dalam tatasusunan dan menetapkan editingIndex dan editingValue kepada -1 dan rentetan kosong untuk menetapkan semula keadaan pengeditan.

3. Ringkasan

Dalam artikel ini, kami memperkenalkan cara menggunakan tag senarai dalam Vue untuk melaksanakan fungsi pengeditan klik dua kali. Berikan senarai melalui v-for, gunakan pendengar acara klik dua kali untuk membuka kotak edit, gunakan perintah v-if untuk mengawal kandungan paparan berdasarkan status penyuntingan elemen dan gunakan bendera untuk mengawal paparan dan menyembunyikan daripada kotak suntingan. Artikel ini hanya memberikan idea pelaksanaan dan kaedah pelaksanaan tertentu mungkin berbeza-beza bergantung pada keperluan projek.

Atas ialah kandungan terperinci Cara menggunakan tag senarai dalam Vue untuk melaksanakan fungsi penyuntingan klik dua kali. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn