core
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
by vuejsTypeScript
Commit activity
Last 12 weeks ยท 133 commits
Community health
3 of 6 standards met
Recent PRs & issues
close #15210 Follow-up to #14411, which only preserved values for inputs and textareas. The same handling now covers , , , and , whose value sanitization is a plain text normalization that can be reproduced from . The other types are left out on purpose. , , , , , , and sanitize based on validity or apply their own normalization, so a server rendered value can come back from the DOM as an empty string, a normalized date, a lowercased/defaulted color, or (for ) a clamped value, without anyone typing. Comparing those against would report an edit that never happened and push the browser's replacement value into the model. , , and friends can't be edited by the user, so there is nothing to preserve there. Summary by CodeRabbit Bug Fixes** Improved hydration for form controls using , preserving values entered or bound before hydration. Added consistent handling for text, search, telephone, password, email, URL, and textarea fields. Prevented URL and multi-value email whitespace differences between server-rendered and client values from unexpectedly overwriting bound values. Improved synchronization of initial values across supported form control types.
Reka UI's renders and reads the exit animation from the element that ref gets (source). When the slot comes from a vapor component, the ref gets a text anchor instead, so the content is removed right away and the exit animation never plays (playground). That vnode is a vapor slot, and hands out its , the start anchor of the slot range. For slot content I now resolve the ref to the content's root element through the interop. A forwarded `` keeps the anchor, same as the fragment in vdom.
A fragment created without children (, JSX ) keeps . #10010 only handled that on mount, so it still throws when such a fragment is moved (keyed reorder, KeepAlive, Teleport), rendered on the server, hydrated, or returned from a slot. Playground gt-vue already works around this in userland: translateVueChildren.ts. I normalize missing fragment children to in , so gets the same shape as and every reader sees an array. Summary by CodeRabbit Bug Fixes Empty fragments now behave consistently when rendered on the server, hydrated, or updated alongside keyed content. Empty fragment slots correctly display their fallback content. Tests Added coverage for empty fragment rendering, hydration updates, slot fallbacks, and keyed child reordering.
Repository: vuejs/core. Description: ๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web. Stars: 55040, Forks: 9342. Primary language: TypeScript. Languages: TypeScript (97%), JavaScript (1.5%), HTML (1%), Vue (0.4%), CSS (0%). License: MIT. Homepage: https://vuejs.org/ Latest release: v3.5.45 (1w ago). Open PRs: 100, open issues: 869. Last activity: 6h ago. Community health: 62%. Top contributors: yyx990803, dependabot-preview[bot], renovate[bot], edison1105, sxzz, HcySunYang, pikax, dependabot[bot], underfin, Alfred-Skyblue and others.