vue-clamp icon indicating copy to clipboard operation
vue-clamp copied to clipboard

Produces Invalid HTML if wrapped in a <p> tag - source of hydration issues with SSR

Open TuringJest opened this issue 4 years ago • 3 comments

Using v-clamp inside a <p> tag will generate invalid HTML as v-clamp will put a div wrapper around the text. In NUXT this will lead to hydration problems with SSR rendering even when the plugin is configured to ssr: false.

Why not use another span? Or add an option to choose the wrapper tag?

TuringJest avatar Feb 24 '21 16:02 TuringJest

@TuringJest not the creator, but thought I'd chime in; there's already built-in functionality for this with a string property called tag. I think that's what you're looking for, right?

jibsaramnim avatar Jun 11 '21 06:06 jibsaramnim

@jibsaramnim thanks for commenting. If I remember it correctly that didn't work because v-clamp will still render a div somewhere inside that tag. Unfortunately, if using <p> any <div> that appears somewhere nested will be invalid HTML and break NUXT's hydration.

TuringJest avatar Jun 12 '21 11:06 TuringJest

@TuringJest oh really, that's odd. I just did a quick test on my end by placing a v-clamp inside a <p> and it seems to work without adding any div elements if I specify tag="span", I only see three span child-elements in the DOM. Sorry I can't be of more help :(.

jibsaramnim avatar Jun 15 '21 02:06 jibsaramnim