mskocik / forms
额外的表单控件
v1.1
2024-05-10 17:11 UTC
Requires
- php: >=8.1
- nette/forms: ~3.2
- nette/utils: ~4.0
README
提供一些svelte自定义元素的后端实现(svelecte 和 svelty-picker)
安装
composer require mskocik/forms
注册扩展
extensions: ext.forms: Mskocik\Forms\Bridges\NetteDI\FormsExtension
如果你使用的是nette/forms独立版本,请手动调用控件注册
\Mskocik\Forms\Bridges\NetteDI\FormsExtension::init()
扩展nette表单以支持IDE自动完成
扩展Nette\Application\UI\Form
(或使用独立表单时的Nette\Forms\Form
),以及Nette\Forms\Container
,并添加扩展PHPDoc注释块
<?php declare(strict_types=1); use Nette\Application\UI\Form; use Nette\Forms\Container; /** * @method SveltyPicker addDatePicker(string $name, ?string $label = null, ?string $format = null) * @method SvelecteSelect addSvelecteSelect(string $name, ?string $label = null, ?array $items = null) * @method SvelecteMultiSelect addSvelecteMultiSelect(string $name, ?string $label = null, ?array $items = null) */ class AppForm extends Form {} /** * @method SveltyPicker addDatePicker(string $name, ?string $label = null, ?string $format = null) * @method SvelecteSelect addSvelecteSelect(string $name, ?string $label = null, ?array $items = null) * @method SvelecteMultiSelect addSvelecteMultiSelect(string $name, ?string $label = null, ?array $items = null) */ class AppFormContainer extends Container {}
根据需要使用!
$form = new Form(); $form->addSvelecteSelect('select', 'My Select', [/** item array */]) ->setFetch($presenter->link('Api:fetch', ['id' => '[query]'])) ->setRequired(); // ...