olicek/form-selectize

Nette 框架表单扩展

v1.1 2018-10-23 20:04 UTC

This package is not auto-updated.

Last update: 2024-09-17 14:07:48 UTC


README

Latest stable Packagist

Nette 框架表单扩展

更多文档

需求

安装

安装 olicek/form-selectize 的最佳方式是使用 Composer

$ composer require olicek/form-selectize

在安装服务器端站点后,您必须安装客户端站点。最佳方式是使用 bower

客户端 链接 selectize.js 以及原始的 selectize.js 并在某个位置调用 selectize() 函数。

| 备注:如果您需要使用之前的 JavaScript,它可以在 selectize-old.js 中找到

最后一步是使用您的 neon 配置启用扩展

extensions:
	selectize: App\Form\Control\SelectizeExtension

默认配置

selectize:
	mode: full # second mode is `select` for selection just 1 option
	create: on
	maxItems: null
	delimiter: #/
	plugins:
		- remove_button
	valueField: id
	labelField: name
	searchField: name

全模式下的数组数据

array (2)
	0 => array (2)
		id => 1
		name => "First item"
	1 => array (2)
		id => 2
		name => "Second item"

在 config.neon 中,id 被设置为 valueField,name 被设置为 labelField 和 searchField。您可以使用任何内容,只需在 config.neon 或 addSelectize 方法中设置即可。例如

valueField: slug

选择模式下的数组数据

选择模式下的数据与 SelectBox 相同

array (2)
	1 => "First item",
	2 => "Second item"

使用

来自 config.neon 的默认设置

$form->addSelectize('tags', 'štítky', $arrayData);

方法一(数组)中的自定义设置

$form->addSelectize('tags', 'štítky', $arrayData, ['create' => false, 'maxItems' => 3]);

方法一(方法)中的自定义设置

$form->addSelectize('tags', 'štítky', $arrayData)->setValueField('slug')->delimiter('_');

输出结果

选择模式

dump($form->values->tags); // return "1"

全模式

在全模式下,它将返回包含 valueField 值的数组。如果您创建了新的标签,它将在子数组中以纯文本形式存在。

array (3)
	0 => "1"
	1 => "2"
	new => array (1)
		0 => "Third item"