Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Nova Child Select

Nova Child Select Laravel Package

alvinhu/nova-child-select

Laravel Nova field that adds cascading, dependent select dropdowns to your forms. Child options update dynamically based on a parent field's selection, so you can build linked selects (like country then city) with a simple fluent API and no custom JavaScript.

View on GitHub
Deep Wiki
Context7

Child select field for Laravel Nova

Frequently asked questions about Nova Child Select
What does alvinhu/nova-child-select do?
It is a Laravel Nova custom field that renders cascading, dependent select dropdowns in your resource forms. The child select's options update dynamically based on the value chosen in a parent field, so you can build linked pairs such as country then city. You configure it through a fluent PHP API, ChildSelect::make('...'), chained alongside Nova's native field methods. The package ships a Vue field component and an asset bundle, and requires no custom JavaScript from you.
Which Laravel Nova versions does nova-child-select support?
The repository is archived and dates from the Vue 2 era, so it most likely targets Nova 2 or Nova 3 rather than Nova 4 or 5. Nova 4 and 5 moved to Vue 3 and Inertia, which packages of this vintage generally do not support. Check the composer.json constraint against the licensed Nova version you actually run before committing. On a Nova 4+ application Composer will usually refuse the install outright.
Is alvinhu/nova-child-select still maintained?
No. The upstream repository is archived, it has roughly 20 stars, and there are no security patches, Nova compatibility fixes, or PHP 8.x and Laravel 11+ tuning. If you adopt it, your team inherits full ownership of the code from day one. That maintenance burden should be weighed against writing a small internal field instead.
How do I install nova-child-select in a Laravel application?
Install it with Composer, but first confirm the package's Nova constraint resolves against your licensed Nova version. Once installed, add ChildSelect::make('field') to the fields method of the relevant Nova resource and chain your configuration methods. Because the compiled assets are typically committed to the package, there is usually no separate publish or migration step, though you should verify that in the repository. There are no migrations or service providers that touch application code.
Does nova-child-select validate dependent values on the server?
No, and it cannot. A dependent dropdown only hides options in the browser; it does not stop a crafted request from submitting a child value that belongs to a different parent. Client-side filtering is not a security boundary. You must add a server-side Rule::exists scoped to the selected parent regardless of whether you use this package.
How does nova-child-select compare to Nova's built-in dependsOn()?
Nova's native dependsOn() on relationship fields already covers a meaningful subset of the same cascading use case, especially BelongsTo selects. For many country-then-city style forms, core Nova is enough and carries no third-party maintenance risk. A dedicated child select field is only worth it when you need behavior the core field does not provide. Compare the two before adding a dependency.
Can I use nova-child-select on Laravel Nova 4 or Nova 5?
Almost certainly not as-is. Those Nova releases use Vue 3 and Inertia, while this archived package was built for the older Vue 2 field stack. Composer will normally block the install because of the version constraint. If your app runs Nova 4 or 5, treat the repository as a reference implementation and port the pattern into an internal field rather than depending on it.
How are child options loaded, inline with the field or fetched on parent change?
The repository does not make this clear from the outside, and it is a first-order question before you adopt it. Inline-embedded option maps are simple but scale poorly for large datasets, while API-driven loading introduces a request waterfall every time the parent selection changes. Read the Vue component and PHP field class to see which mode it uses and what query pattern runs per change. That answer determines whether it fits your data volume.
Does nova-child-select support multi-level chains or searchable selects?
That is unverified. There is no visible test suite or CI, so behavior for chains deeper than parent to child, null parent values, re-hydration on edit forms, and searchable or relatable selects has not been demonstrated. The typical scope for a field of this kind is a single parent-to-child pair. If you need three or more levels, plan to extend or rewrite the component yourself.
What should I do if I need this cascading select feature long term?
Two routes are credible. You can fork the repository into a private namespace or install it from a pinned VCS path and accept ownership, which only makes sense if your team already has Vue and Nova field experience and the feature is load-bearing. Otherwise, build the field internally or use Nova's core dependsOn(); a bespoke child select is on the order of a few hundred lines of Vue plus a small PHP field class, and owning it removes the version-matrix risk. Check the license first to confirm the source is permissive enough to fork.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core