htmlstreamofficial / preline

Preline UI is an open-source set of prebuilt UI components based on the utility-first Tailwind CSS framework.
https://preline.co
Other
4.57k stars 286 forks source link

Advanced Select not working in Nuxt.js (Vue.js) #325

Open oliver-savi opened 5 months ago

oliver-savi commented 5 months ago

On first load, the select component gets rendered correctly. If page or component in v-if change, then it reinitializes the select and adds double element. I have followed the steps from framework guides, but the solution there does not even initialize it on first load.

plugins/preline.client.ts:

import 'preline/preline'

declare var HSStaticMethods: {
  autoInit(collection?: string | string[]): void
}

export default defineNuxtPlugin((nuxtApp) => {
  nuxtApp.hook('page:finish', () => {
    setInterval(() => {
      HSStaticMethods.autoInit()
    }, 1000)
  })
})

After second load of component, it will look like this:

image

EDIT: Added a basic demo: https://nuxt-preline-test.netlify.app/test Code: https://github.com/oliver-savi/preline-test

langscot commented 1 month ago

Try running HSStaticMethods.cleanCollection() before your autoInit call.