mindy / form
3.0.3
2016-10-14 09:24 UTC
Requires
- php: >=7.0
- mindy/helper: ^4.0
- mindy/validation: ^2.0
This package is not auto-updated.
Last update: 2024-09-14 15:58:06 UTC
README
小部件
使用小部件是当需要在表单字段中添加某些逻辑时必需的。例如,连接带有文本许可证的附加字段,使用第三方插件显示评分,连接地图等等。
小部件示例
<?php namespace Mindy\Form\Widget; use Mindy\Form\Widget; use Mindy\Helper\JavaScript; use Mindy\Helper\JavaScriptExpression; class RatingWidget extends Widget { public $options = []; /** * @return string */ public function render() { $field = $this->getField(); $jsOptions = JavaScript::encode(array_merge([ 'starType' => 'i', 'numberMax' => 5, 'score' => $field->getValue(), 'click' => new JavaScriptExpression('function(score, evt) { $("#' . $field->getHtmlId() . '").val(score); }') ], $this->options)); $js = "<div id='{$field->getHtmlId()}_rating' class='rating-input'></div><script type='text/javascript'>$('#{$field->getHtmlId()}_rating').raty({$jsOptions});</script>"; return $field->renderInput() . $js; } }
使用方法
<?php class MyForm extends Form { public function getFields() { return [ 'rating' => [ 'class' => CharField::class, 'widget' => new RatingWidget ] ]; } }