根据Yii2 的官方教程.我为条目表单创建了一个视图:
<?php
use yii\helpers\Html;
use yii\widgets\ActiveForm;
?>
<?php $form = ActiveForm::begin(); ?>
<!-- GET Attention for the next Line -->
<?= $form->field($model, 'name')->label('Your Name'); ?>
<?= $form->field($model, 'email'); ?>
<div class="form-group">
<?= Html::submitButton('Send!', ['class' => 'btn btn-primary']); ?>
</div>
<?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud)
在这一点上一切都很好.但是,当我尝试使用options该field方法的参数时如下:
<?= $form->field($model, 'name', ['style' => 'color:red'])->label('Your Name'); ?>
Run Code Online (Sandbox Code Playgroud)
我有错误:
未知属性 - yii\base\UnknownPropertyException
设置未知属性:yii\widgets\ActiveField :: style
官方的api文档声明ActiveForm的方法采用了第三个名为options的参数
有人可以解释一下为什么会出现这个错误吗?!
Mih*_* P. 15
尝试
<?= $form->field($model, 'name')->textInput(['style' => 'color:red'])->label('Your Name'); ?>
Run Code Online (Sandbox Code Playgroud)
这有点难以解释,当你$form->field($model, 'name')没有指定字段类型时,你实际上要求textInput.但这并不意味着你应该要求->field(以同样的方式采取参数->textInput(.如果你需要为字段添加一些特殊的参数,你必须使用显式->textInput(['style' => 'color:red'])
试试这段代码:
<?= $form->field($model, 'name', [ 'options' => [ 'style' => 'color: red']])->label('Your Name'); ?>
Run Code Online (Sandbox Code Playgroud)
你有这个错误
Unknown Property – yii\base\UnknownPropertyException
Setting unknown property: yii\widgets\ActiveField::style
Run Code Online (Sandbox Code Playgroud)
因为没有这样的财产风格.您应该使用'options'并将'style'作为子数组传递