Hướng dẫn cài và sử dụng vue-multiselect cho nuxt js

folder Kiến thức công nghệ
today 12/11/2024 23:09
vue-multiselect là một thư viện component cho Vue.js, giúp tạo các dropdown (select box) tùy chỉnh với khả năng chọn nhiều giá trị (multi-select) và hỗ trợ tìm kiếm (searchable). Nó cung cấp một giao diện đẹp và dễ sử dụng để người dùng có thể chọn các mục từ một danh sách, đồng thời hỗ trợ các tính năng mạnh mẽ như tìm kiếm, nhóm mục, chọn nhiều mục, và tùy chỉnh giao diện.
huong-dan-cai-va-su-dung-vue-multiselect-cho-nuxt-js

Các tính năng chính của vue-multiselect:

  1. Chọn nhiều mục: Hỗ trợ chọn nhiều giá trị cùng lúc.
  2. Tìm kiếm: Cho phép người dùng tìm kiếm trong danh sách các mục.
  3. Tùy chỉnh giao diện: Bạn có thể tùy chỉnh giao diện theo ý muốn (như cách hiển thị mục, kiểu hiển thị của dropdown, v.v.).
  4. Hỗ trợ nhóm mục: Có thể nhóm các mục trong dropdown theo các danh mục khác nhau.
  5. Dễ sử dụng: Cấu hình đơn giản và dễ dàng tích hợp vào ứng dụng Vue.js hoặc Nuxt.js.

Bước 1: Tạo Dự Án Nuxt.js Mới

Nếu bạn chưa có dự án Nuxt.js, bạn có thể tạo một dự án mới :

Chú ý: Có 2 cách để tạo dự án Nuxtjs đó là:

  • npm
  • yarn

Đối với yarn chạy lệnh sau :

yarn create nuxt-app <project-name>

Còn đối với npm thì  tạo dự án bằng cách sử dụng npx:

npx create-nuxt-app servbay-nuxt-app

Bước 2: Cài Đặt Thư Viện vue-multiselect

Mở terminal và chạy lệnh sau để cài đặt vue-multiselect:

Đối với yarn chạy lệnh sau:

yarn add vue-multiselect

còn đối với npm thì dùng lệnh sau:

npm i vue-multiselect

Bước 3: Tạo plugin cho vue-multiselect

Để sử dụng cho vue-multiselect trong dự án Nuxt.js, bạn có thể tạo một plugin. Tạo một tệp mới trong thư mục plugins, ví dụ vue-multiselect.js

import Vue from 'vue';
import Multiselect from 'vue-multiselect';
import 'vue-multiselect/dist/vue-multiselect.min.css';

Vue.component('vue-multiselect', Multiselect);

Bước 4: Đăng ký plugin trong nuxt.config.js

Mở tệp nuxt.config.js và thêm plugin mà bạn vừa tạo vào phần plugins:

export default {
  // ...
  plugins: [
    { src: '~/plugins/vue-multiselect.js', ssr: false } // ssr: false nếu bạn chỉ muốn dùng trên client
  ],
  // ...
}

Bước 5: Tạo component cho vue-multiselect

Chúng ta sẽ tạo component cho vue-multiselect bằng cách tạo file MultiselectComponent.vue

<template>
  <div>
    <multiselect
      v-model="selected"
      :options="options"
      :multiple="true"
      :searchable="true"
      :close-on-select="false"
      :track-by="'code'"
      placeholder="Chọn các mục"
      label="name"
    ></multiselect>
    <p>Giá trị đã chọn: {{ selected }}</p>
  </div>
</template>

<script>
import Multiselect from 'vue-multiselect'

export default {
  components: {
    Multiselect
  },
  data() {
    return {
      selected: [],
      options: [
        { name: 'Apple', code: 'apple' },
        { name: 'Banana', code: 'banana' },
        { name: 'Orange', code: 'orange' },
        { name: 'Grapes', code: 'grapes' }
      ]
    }
  }
}
</script>

Bước 6: Gọi ra và sử dụng

Giả sử bạn có một component cha gọi là App.vue. Bạn có thể gọi component vue-multiselect như sau:

<template>
  <div>
    <h1>Vue Multiselect trong Nuxt.js</h1>
    <MultiselectComponent />
  </div>
</template>

<script>
import MultiselectComponent from '~/components/MultiselectComponent.vue'

export default {
  components: {
    MultiselectComponent
  }
}
</script>

Bước 7: Chạy project của bạn

Cuối cùng, bạn có thể chạy project Nuxt.js của mình bằng lệnh:

npm run dev

hoặc

yarn dev

Kết luận

Giờ đây bạn đã cài đặt thành công vue-multiselect trong dự án Nuxt.js và có thể sử dụng component này để tạo các dropdown chọn nhiều lựa chọn với giao diện đẹp. Bạn có thể tùy chỉnh thêm các thuộc tính của vue-multiselect để phù hợp với yêu cầu của mình.

Bài viết cùng chuyên mục

hatonet

Hướng dẫn cài và sử dụng vue-object-to-formdata cho dự án nuxtjs

today 11/12/2024 22:15
vue-object-to-formdata là một thư viện JavaScript được thiết kế để chuyển đổi một đối tượng JavaScript (Object) thành đối tượng FormData. Đây là một đối tượng có thể dễ dàng sử dụng trong các yêu cầu HTTP để gửi dữ liệu, đặc biệt là khi bạn cần gửi dữ liệu như là một phần của biểu mẫu (form), ví dụ: khi upload file hoặc gửi dữ liệu dưới dạng multipart/form-data.
Xem thêm arrow_right_alt
hatonet

Hướng dẫn cài đặt và sử dụng v-tooltip trong project nuxt js

today 04/12/2024 21:34
v-tooltip là một thư viện Vue.js nhẹ, dễ sử dụng, giúp tạo ra các tooltip (hộp thông báo khi người dùng di chuột qua một phần tử) trong các ứng dụng Vue. Tooltip là một yếu tố giao diện người dùng (UI) thông báo hoặc giải thích ngắn gọn về một đối tượng khi người dùng hover (di chuột) hoặc focus vào phần tử đó.
Xem thêm arrow_right_alt
hatonet

Hướng dẫn cài đặt và sử dụng thư viện Elementjs nuxtjs

today 28/11/2024 23:14
Thư viện Element UI là một bộ thư viện giao diện người dùng mạnh mẽ, cung cấp nhiều thành phần (components) tùy chỉnh sẵn, giúp bạn xây dựng giao diện ứng dụng dễ dàng và nhanh chóng. Đối với Nuxt.js , bạn có thể tích hợp và sử dụng Element UI một cách đơn giản. Dưới đây là hướng dẫn từng bước.
Xem thêm arrow_right_alt

Việc làm tại Hatonet

【案件概要】 社内に複数存在するシステムや多様な業務規則を集約・自動化し、全社的な生産性向上を目指す「生成AIエージェントプラットフォーム」の開発プロジェクトにご参画いただきます。 本プロジェクトは、OSSをベースに構築された既存環境の課題を解決し、信頼性と拡張性の高いサービス基盤を再構築する重要なフェーズにあります。技術的負債の解消をリードし、安定的なサービス提供と将来の機能拡張を支えるコアメンバーを募集します。 【業務内容】 現状の課題分析から改善、実装まで、主体的にプロジェクトを推進していただきます。 インフラの再構築・運用 (IaC) AWS CDK を用いたインフラ構成のコード化と最適化 既存環境の問題点を特定し、安定稼働と保守性を考慮したアーキテクチャへの改善提案・実装 CI/CDパイプラインの構築・改善 GitLab CI/CDを活用し、ビルド・テスト・デプロイの完全自動化 コンテナイメージのバージョン管理戦略の策定と実践 バックエンド開発・連携 生成AI を連携させるバックエンドサービスの設計・開発 各種社内システムやSaaSと連携するためのAPI・ワークフロー開発 MCPサーバーの構築 Pythonを用いてMCPサーバーを構築 その他ブラッシュアップ対応

  • AI Engineer
  • Python
Remote
【技術環境】 ・言語:Go, JavaScript, TypeScript ・フレームワーク:Gin, React, Next.js ・インフラ:AWS ・その他:GitLab, GitLab CI,Terraform, Confluence, JIRA, Slack 【業務概要】 ・人材系SaaSサービス運営企業において、タレントマネジメントシステムの新機能開発や機能拡張の実装をご担当いただきます ・公開APIの開発 ・Goを用いたアプリの設計と開発、システム改善 ・Goで実装されたコードのレビュー・品質維持 【参画メリット】 ・フルリモートですので、ご自身のリラックス出来る環境で作業を行って頂きます。 ・フルフレックスですので、中抜けなど柔軟な働き方が可能となっております。 ・アジャイル開発の知見を学ぶことができ、上流から下流まで総合的にソフトウェア開発の能力を向上させられます。

  • Golang
Remote