Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan Vue untuk melaksanakan kesan khas kotak input label

Cara menggunakan Vue untuk melaksanakan kesan khas kotak input label

王林
王林asal
2023-09-19 11:21:13695semak imbas

Cara menggunakan Vue untuk melaksanakan kesan khas kotak input label

Cara menggunakan Vue untuk melaksanakan kesan khas kotak input teg

Pengenalan:
Dengan pembangunan aplikasi web, kami sering menghadapi senario di mana kami perlu memasukkan berbilang teg, seperti memasukkan alamat e-mel atau menambah teg pengguna. Untuk meningkatkan pengalaman pengguna, anda boleh menggunakan rangka kerja Vue untuk melaksanakan kesan khas kotak input teg, membolehkan pengguna memasukkan dan memadam teg dengan lebih mudah. Artikel ini akan memperkenalkan secara terperinci cara menggunakan Vue untuk mencapai kesan khas ini dan memberikan contoh kod khusus.

1. Persediaan
Pertama, kita perlu memperkenalkan Vue ke dalam projek. Anda boleh memasang Vue melalui npm, atau memperkenalkan versi pembangunan Vue terus melalui teg skrip. Untuk memudahkan operasi, artikel ini akan mengambil pengenalan teg skrip ke dalam Vue sebagai contoh. Tambahkan kod berikut dalam teg

bagi fail html:
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.js"></script>

2. Buat contoh Vue
Seterusnya, buat contoh Vue dalam fail JavaScript dan tentukan data dan kaedah. Kami akan menggunakan tatasusunan untuk menyimpan label input, dan pembolehubah untuk menyimpan label yang dimasukkan pada masa ini. Contoh kod adalah seperti berikut:

new Vue({
  el: '#app',
  data: {
    tags: [],
    inputTag: ''
  },
  methods: {
    addTag() {
      if (this.inputTag.trim() !== '') {
        this.tags.push(this.inputTag.trim());
        this.inputTag = '';
      }
    },
    removeTag(index) {
      this.tags.splice(index, 1);
    }
  }
});

3. Tulis templat HTML
Dalam fail HTML, kita perlu menulis struktur HTML kotak input label dan mengikat contoh Vue pada struktur. Contoh kod adalah seperti berikut:

<div id="app">
  <div class="tags">
    <span class="tag" v-for="(tag, index) in tags" :key="index">
      <span class="tag-text">{{ tag }}</span>
      <span class="tag-close" @click="removeTag(index)">&times;</span>
    </span>
    <input type="text" class="tag-input" v-model="inputTag" @keydown.enter.prevent="addTag" placeholder="输入标签并按回车添加" />
  </div>
</div>

4. Tambah gaya CSS
Untuk menjadikan kotak input label mempunyai penampilan yang lebih baik, kita perlu menambah beberapa gaya CSS. Gaya boleh dilaraskan mengikut keperluan sebenar Berikut adalah contoh gaya mudah:

.tags {
  display: flex;
  flex-wrap: wrap;
  border: 1px solid #ccc;
  padding: 5px;
  border-radius: 3px;
}

.tag {
  display: inline-flex;
  align-items: center;
  margin: 2px;
  padding: 3px 5px;
  background-color: #eee;
  border-radius: 3px;
}

.tag-text {
  margin-right: 5px;
}

.tag-close {
  cursor: pointer;
}

.tag-input {
  border: none;
  outline: none;
}

5. Jalankan dan uji
Selepas menyelesaikan langkah di atas, kami boleh menjalankan projek dan menguji kesan khas kotak input label. Semasa menguji, anda boleh memasukkan teg dan tekan Enter untuk menambahkannya, dan kemudian klik ikon tutup pada teg untuk memadamkannya. Anda boleh mengesahkan bahawa fungsi tambah dan alih keluar untuk teg berfungsi dengan betul.

Ringkasan:
Melalui langkah di atas, kami berjaya menggunakan Vue untuk melaksanakan kesan khas kotak input label. Sudah tentu, ini hanyalah contoh mudah, dan anda boleh melaraskan gaya dan logik mengikut keperluan projek anda. Saya harap artikel ini akan membantu anda menggunakan Vue untuk melaksanakan kesan khas untuk kotak input label. Saya doakan anda berjaya!

Atas ialah kandungan terperinci Cara menggunakan Vue untuk melaksanakan kesan khas kotak input label. 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