برنامه نویسی

چگونه از Cleave.js در برنامه Angular استفاده کنیم؟

معرفی سریع Cleave.js:

Cleave.js یک کتابخانه است که برای قالب‌بندی ورودی استفاده می‌شود وقتی کاربر شروع به تایپ در یک فیلد می‌کند بدون اینکه کاربر مجبور باشد جداکننده «—» را همانطور که در گیف زیر نشان داده شده است تایپ کند.

gif

در این مثال، فرمت تاریخ را با “/” به عنوان جداکننده و “dd/mm/yyyy” به عنوان الگوی تاریخ نشان خواهم داد.

{
  date: true,
  delimiter: "https://dev.to/",
  datePattern: ['d', 'm', 'Y']
}

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

مراحل شروع استفاده از Cleave.js در برنامه زاویه ای:

1) Cleave.js را با استفاده از یک مدیریت بسته از ترمینال نصب کنید، در اینجا من از npm استفاده می کنم:

npm i cleave.js

وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

2) در مرحله بعد، مسیر Cleave.js minimal bundle را به فایل angular.json اضافه کنید (همانطور که در تصویر زیر نشان داده شده است)

"./node_modules/cleave.js/dist/cleave.min.js"
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

angular.json

3) اکنون با استفاده از قطعه زیر اعلام کنید که در زمان اجرا در کامپوننت شما شیئی به نام Cleave وجود خواهد داشت.

declare let Cleave: any;
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اعلام

4) من از ورودی فرم مواد زاویه‌ای استفاده خواهم کرد، اما می‌توانید از تگ‌های فرم معمولی استفاده کنید و Cleave.js به خوبی کار خواهد کرد. همانطور که نشان داده شده است، یک کلاس سفارشی را به فیلد ورودی فرم اضافه کنید (می توانید آن را هر چیزی نامگذاری کنید):

تشکیل کلاس

5) بعد، بیایید شی Cleave را در سازنده کامپوننت به این صورت پیاده سازی کنیم،

/* 
Cleave takes in two parameters, the first is classname and second is the
object which contains data describing the input format desired.
In this example, we pass in input type, delimiter and datepattern.
*/
new Cleave('.cleave-date', {
      date: true,
      delimiter: "https://dev.to/",
      datePattern: ['d', 'm', 'Y']
});
وارد حالت تمام صفحه شوید

از حالت تمام صفحه خارج شوید

اجرای سازنده

به کادر زرد رنگ توجه کنید، باید همان نام کلاسی باشد که در قسمت ورودی فایل HTML مربوطه اعمال شده است.

حالا بیایید با استفاده از دستور ng serve آن را سرو کنیم 🙂

ng serve -o

6) اوه اوه، آیا شما هم این خطا و صفحه خالی را دریافت کردید؟

خطا

معنی آن این است که ما سعی می کنیم به عنصری در DOM دسترسی پیدا کنیم که هنوز رندر نشده است. برای حل این مشکل، باید کد را در قلاب چرخه حیات ()ngOnInit پیاده سازی کنیم و نه سازنده را همانطور که در تصویر زیر نشان داده شده است.

رفع خطا با ngOnInit

7) و… Voila! حالا می توانید یک فیلد فرم و بدون خطایی را در کنسول ببینید و وقتی تاریخ را تایپ می کنید، می توانید Cleave.js را در عمل مشاهده کنید 🙂

نمای نهایی

من فقط نحوه استفاده از Cleave.js با فرمت تاریخ را نشان داده ام، فرمت های دیگر را از اینجا یاد بگیرید: https://bit.ly/3WGTNtj

کد نویسی مبارک!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا