Amirilidan78
4 سال پیش توسط Amirilidan78 مطرح شد
2 پاسخ

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

سلام من توی یه صفحه هم از 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()

ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 4 سال پیش مطرح شد
1

@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 2 سال پیش مطرح شد
0

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

@hesammousavi @Amirilidan78 @mohsenbostan

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


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

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