yii2设置ActiveForm->dropDownList->prompt_val 真正支持下拉菜单默认值

yii2设置ActiveForm->dropDownList->prompt_val 真正支持下拉菜单默认值

1:网上面的信息都不算正确。如:http://www.oschina.net/question/1182150_174242 如:http://www.yiichina.com/doc/guide/2.0/helper-array
prompt参数默认不能真正实现设置默认值,只能设置默认文本。

2:上代码
文件:yii\helpers\BaseHtml
line: 1677

public static function renderSelectOptions($selection, $items, &$tagOptions = [])
{

	//$lines[] = static::tag('option', $prompt, ['value' => '']); #echo.fx修改,支持默认val
	$prompt_val = isset($tagOptions['prompt_val'])?$tagOptions['prompt_val']:'';
	$lines[] = static::tag('option', $prompt, ['value' => $prompt_val]);

3:调用
<?= $form->field($model, 'pid')->dropDownList(isset($productAll)?ArrayHelper::map($productAll, 'id', 'product_name'):array(), ['prompt'=>'顶级产品线*1','prompt_val'=>'33','style'=>'width:auto'])  ?>

4:效果


5:注意
设置默认值,model里的rules()方法即使配置required,也不会生效

猜你喜欢

转载自blog.csdn.net/feilala/article/details/52244009