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

folder Kiến thức công nghệ
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.
huong-dan-cai-dat-va-su-dung-thu-vien-elementjs-nuxtjs

Cài đặt và sử dụng Element

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

2. Cài đặt Element Plus

Đầu tiên, bạn cần cài đặt thư viện Element Plus và các gói liên quan.

Mở terminal và chạy lệnh:

npm install element-plus

Hoặc sử dụng yarn:

yarn add element-plus

Nếu bạn muốn tích hợp Element Plus Icons, cài đặt thêm:

npm install @element-plus/icons-vue

3. Cấu hình Element Plus trong dự án Nuxt.js

Tự động import Element Plus

  1. Cài đặt plugin unplugin-element-plus:

    npm install -D unplugin-element-plus
  2. Mở file nuxt.config.ts và thêm plugin:

    import ElementPlus from 'unplugin-element-plus/vite';
    
    export default defineNuxtConfig({
      modules: [],
      vite: {
        plugins: [
          ElementPlus({ /* Tùy chỉnh nếu cần */ })
        ]
      }
    });
    

Sử dụng thủ công Element Plus

Nếu không muốn dùng plugin, bạn có thể import Element Plus thủ công:

  1. Tạo file plugin tại plugins/element-plus.ts:

    import { defineNuxtPlugin } from '#app';
    import ElementPlus from 'element-plus';
    import 'element-plus/dist/index.css';
    
    export default defineNuxtPlugin((nuxtApp) => {
      nuxtApp.vueApp.use(ElementPlus);
    });
    
  2. Sau đó, Nuxt.js sẽ tự động load plugin này.


4. Sử dụng Element Plus trong component

Bây giờ bạn có thể sử dụng các component của Element Plus trong dự án.

Ví dụ:

<template>
  <div>
    <el-button type="primary">Primary Button</el-button>
    <el-date-picker v-model="date" type="date" placeholder="Select Date"></el-date-picker>
  </div>
</template>

<script setup>
import { ref } from 'vue';

const date = ref(null);
</script>

5. Tùy chỉnh theme

Element Plus cho phép bạn tùy chỉnh giao diện bằng cách sử dụng CSS biến (CSS Variables).

  1. Tạo file assets/styles/element-plus.scss:

:root {
  --el-color-primary: #42b983; // Màu chủ đạo
  --el-font-size-base: 16px;  // Kích thước font
}

       2.Import file này vào nuxt.config.ts:

export default defineNuxtConfig({
  css: ['@/assets/styles/element-plus.scss']
});

6. Cài đặt và sử dụng icon

Khi sử dụng @element-plus/icons-vue, bạn cần import icon tương ứng:

Ví dụ:

<template>
  <div>
    <el-icon><Edit /></el-icon>
    <el-button icon="Edit">Edit</el-button>
  </div>
</template>

<script setup>
import { Edit } from '@element-plus/icons-vue';
</script>

7. Một số lưu ý khi sử dụng với Nuxt.js

  • Element Plus hoạt động tốt với Nuxt 3 nhờ hỗ trợ Vue 3. Hãy đảm bảo bạn đang sử dụng phiên bản mới nhất của Nuxt.
  • Khi cần render phía server (SSR), Element Plus hoạt động ổn định, nhưng nên kiểm tra kỹ nếu có lỗi liên quan đến Hydration.

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 Buefy - thư viện UI nhẹ dành cho Vue.js

today 28/11/2024 22:41
Buefy là một thư viện UI nhẹ dành cho Vue.js, được xây dựng trên Bulma CSS. Nó cung cấp các thành phần giao diện đẹp, dễ tùy chỉnh và thân thiện với người dùng. Với thiết kế đơn giản nhưng mạnh mẽ, Buefy rất phù hợp cho các dự án cần sự linh hoạt trong giao diện mà không làm tăng kích thước gói cài đặt.
Xem thêm arrow_right_alt

Việc làm tại Hatonet

- 生命保険会社向けに、デジタル請求で提出される診断書・領収書がどの程度“画像改ざんに耐性があるかを、ダミー書類のみを用いて検証するPoC。 - OpenCV・PyMuPDF・OCR・軽量VisionモデルなどOSSを活用し、1ヶ月で「どこまで検知できるか」を可視化することを目的とする。 - AIモデルの学習は行わず、推論のみで検知ロジックのプロトタイプを構築する

  • Python
  • AI
Remote
エンドクライアント直案件です。 NetSuite導入プロジェクトにおいて、要件定義から設計・開発・テストまで一貫してリードいただきます。 SuiteScriptを中心としたカスタマイズや外部システム連携設計、開発方針の策定など、技術面からプロジェクト全体を牽引できる方のご参画を期待しています。 また、社内外のステークホルダーとの調整や品質管理にも関与いただきます。 生産~販売まで幅広く知識を持っている方のご提案をお待ちしております!

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

  • Golang
Remote
【業務概要】 ・AI活用担当部署で推進している各種プロジェクトの目的・目標の定義、ロードマップの策定、進捗管理や効果測定 ・AI技術応用先のプロジェクトと所属エンジニアとの要件すり合わせ ・各プロジェクト責任者や役員への進捗・成果共有、それらに関わる資料作成 ・AI活用を社内外で啓蒙するための社内外向け広報活動 (告知用制作物の企画、オフラインイベントの企画運営、インタビュー対応等) ・その他、AI戦略本部の組織作りとプロジェクト推進に関わる一連の業務 ◆ 就業時間 :10:00~19:00 ◆ 面談 : 1回(企業様)

  • Project Manager
Remote