tomaskemok/custom-nova-dependent-filter
Composer 安装命令:
composer require tomaskemok/custom-nova-dependent-filter
包简介
Filtro dependiente y searchable para Laravel Nova con soporte para múltiples dependencias.
README 文档
README
Este paquete proporciona un filtro personalizado para Laravel Nova que permite crear filtros dependientes con funcionalidad searchable. Soporta múltiples dependencias entre filtros.
Instalación
- Clona o descarga este repositorio en la carpeta
nova-components/DependentSearchableFilterde tu proyecto Laravel. - Ejecuta
composer installdentro de la carpeta del paquete si es necesario. - Compila los assets JS/Vue del filtro:
- Instala dependencias JS:
cd nova-components/DependentSearchableFilter npm install - Compila los assets:
npm run dev # o para producción npm run prod
- Instala dependencias JS:
- Registra el filtro en tu recurso Nova.
Uso
Ejemplo avanzado de integración
- Crea los filtros en
app/Nova/Filters:
use DependentSearchableFilter\DependentSearchableFilter; use Illuminate\Http\Request; use App\Models\Category; use App\Models\Subcategory; class CategoryFilter extends DependentSearchableFilter { public function __construct() { parent::__construct([]); // Sin dependencias } public function options(Request $request) { return Category::pluck('name', 'id')->toArray(); } } class SubcategoryFilter extends DependentSearchableFilter { public function __construct() { parent::__construct(['category']); // Depende de CategoryFilter } public function options(Request $request) { $categoryId = $request->get('category'); if ($categoryId) { return Subcategory::where('category_id', $categoryId)->pluck('name', 'id')->toArray(); } return []; } }
- Registra los filtros en tu recurso Nova:
use App\Nova\Filters\CategoryFilter; use App\Nova\Filters\SubcategoryFilter; public function filters(Request $request) { return [ new CategoryFilter(), new SubcategoryFilter(), ]; }
Solución de errores comunes
- Si ves errores de clases desconocidas (
Illuminate\Http\Request,App\Models\Category, etc.), asegúrate de tener los modelos y dependencias correctas en tu proyecto Laravel. - Instala dependencias con:
composer require laravel/novacomposer install
- Si usas modelos personalizados, reemplaza
CategoryySubcategorypor los tuyos.
Personalización
- Puedes definir la lógica de opciones en el método
optionsdel filtro. - El filtro es searchable y actualiza sus opciones dinámicamente según los valores seleccionados en los filtros padres.
Estructura
src/DependentSearchableFilter.php: Filtro Nova PHP.resources/js/components/DependentSearchableFilter.vue: Componente Vue para la UI.
Contribuciones
¡Se aceptan PRs y sugerencias!
统计信息
- 总下载量: 2
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-10-02