راکت
حل شده

مشکل در استفاده از tagify با livewire

2 پاسخ

سلام من توی یه صفحه هم از livewire استفاده کردم با turbo links هم از togify jquery
وقتی میخوام ذخیره کنم داده ها رو نمیتونم از wire:model استفاده کنم چون اصلا input value تغییر نمیکنه و الان من میخوم تگ هایی که توی element tagify هست رو بگیرم ولی هر چی میگردم همچیم متودی نداره

var input = document.getElementById('tagify');
                var tagify = new Tagify(input, {
                    pattern: /^.{0,30}$/, // Validate typed tag(s) by Regex. Here maximum chars length is defined as "20"
                    delimiters: ", ", // add new tags when a comma or a space character is entered
                    maxTags: 999,
                    blacklist: ["****", "****", "*****"],
                    keepInvalidTags: false, // do not remove invalid tags (but keep them marked as invalid)
                    transformTag: transformTag,
                })
                function transformTag(tagData) {
                    var states = [
                        'success',
                        'primary',
                        'danger',
                        'success',
                        'warning',
                        'dark',
                        'primary',
                        'info'];

                    tagData.class = 'tagify__tag tagify__tag-light--' + states[KTUtil.getRandomInt(0, 7)];

                    if (tagData.value.toLowerCase() == '****') {
                        tagData.value = 's✲✲t'
                    }
                }

و وقتی از کد زیر ساتفاده میکنم undefinedبر میگردونه

tagify.getMixedTagsAsString()
ثبت پرسش جدید

پاسخ‌ها

2
محسن بستان
محسن بستان
@mohsenbostan

تخصص: Senior Backend Developer

بهترین پاسخ

@Amirilidan78
سلام.
اول از همه بررسی کنید کلا tagify درست کار میکنه یا نه. اگر مشکی نداشت می تونید توی کد JS برای event مر بوط به input یک dispatch قرار بدید. مثلا:

$dispatch('input', tags)

دقت کنید که اون tags دقیقا باید اسم property باشه که در کامپوننت دارید و wire:model هم برای تگ پدر مربوط به input ست کرده باشید.

یا راه دیگه اینه که طبق لینک زیر به صورت دستی در کد JS اون تگ ها رو قرار بدید. در این حالت دیگه نیازی به wire:model نیست.
https://laravel-livewire.com/docs/inline-scripts

Matio
Matio
@matio

تخصص: برنامه نویس

سلام وقت بخیر.
لطفا کد کامل (قسمت view و قسمت controller) رو به اشتراک بگذارین. من هم با مشکلات مربوط به پیاده سازی Tagify در livewire مواجه هستم

@hesammousavi @Amirilidan78 @mohsenbostan

با تشکر فراوان

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام