feat: Migrate QInputEx to Quasar v2 and Vue 3#26
Open
padeoe wants to merge 2 commits intosnowyu:masterfrom
Open
feat: Migrate QInputEx to Quasar v2 and Vue 3#26padeoe wants to merge 2 commits intosnowyu:masterfrom
padeoe wants to merge 2 commits intosnowyu:masterfrom
Conversation
This is a comprehensive migration of the QInputEx component library from Quasar v1/Vue 2 to Quasar v2/Vue 3. BREAKING CHANGES: - Requires Quasar v2.0.0+ and Vue 3.0.0+ - Changed from `value` prop to `v-model` (modelValue) - Event name changed from `@input` to `@update:modelValue` - Updated to Vue 3 Composition API - Requires Vue I18n v9.0.0+ Features: - Full Vue 3 and Composition API support - Improved TypeScript integration - All input types migrated (date, time, datetime, fulltime, password, color, search) - Fixed popup close functionality - Fixed date/time selection in custom input types - Updated i18n to support Vue I18n v9 - Comprehensive migration guide included Technical changes: - Created new Vue 3 compatible components (qinputex-v2.tsx, qinput-history-v2.tsx) - Updated all type definitions for Vue 3 context - Migrated from vue-property-decorator to defineComponent - Updated build configuration for Vite - Fixed all runtime compatibility issues Documentation: - Updated README for Quasar v2 - Added comprehensive MIGRATION_GUIDE.md - Added technical migration notes in MIGRATION_VUE3_QUASAR2.md 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
- Created full app-extension directory with all required files - Added install/uninstall scripts with prompts - Created boot file template for automatic component registration - Added example page template for easy testing - Updated build configuration to use Vite for modern output - Added proper package.json exports for ESM/CJS - Updated README with app-extension installation instructions The app extension provides: - Automatic component registration - Optional example page installation - Proper Quasar v2 configuration - Full TypeScript support - Compatible with both Vite and Webpack builds 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR provides a comprehensive migration of the QInputEx component library from Quasar v1/Vue 2 to Quasar v2/Vue 3, including a complete Quasar App Extension structure for easy integration.
Motivation
Changes
Breaking Changes
:value+@inputtov-model(usesmodelValueprop)@inputchanged to@update:modelValueNew Features
Technical Implementation
New Components: Created Vue 3 versions of components
qinputex-v2.tsx: Main component using Composition APIqinput-history-v2.tsx: History component migrated from class-based to Composition APIType Definitions Updated: All input type definitions updated for Vue 3 context handling
this.$attrsaccess with optional chainingFixed Issues:
Quasar App Extension Structure:
Modern Build System:
Documentation:
Installation
As Quasar App Extension (Recommended)
Manual Installation
Testing
All input types have been tested:
Migration Guide
A comprehensive migration guide is included to help users upgrade their projects. Key points:
:value/@inputtov-modelquasar ext add qinputexBackwards Compatibility
The original v1 components are preserved in their original files. The main export has been updated to use the v2 components, but users can still import v1 components directly if needed during migration.
Checklist
Related Issues
This PR addresses the need for Quasar v2 compatibility as discussed in various community forums and issues.
Note: This is a major version change and will require users to update their projects to Vue 3 and Quasar v2.
🤖 Generated with Claude Code