Class yii\widgets\InputWidget

继承yii\widgets\InputWidget » yii\base\Widget » yii\base\Component » yii\base\BaseObject
实现yii\base\Configurable, yii\base\ViewContextInterface
子类yii\captcha\Captcha, yii\widgets\MaskedInput
可用自版本2.0
源代码 https://github.com/yiisoft/yii2/blob/master/framework/widgets/InputWidget.php

InputWidget 是收集用户输入的小部件的基类.

输入小部件可以与数据模型($model)和属性($attribute), 或名称($name)和值($value)相关联. 如果是前者, 名称和值将自动生成(子类可能会调用 renderInputHtml() 以遵循此行为).

例如, 使用 widget() 方法可以在 ActiveForm 中使用从此小部件扩展的类:

<?= $form->field($model, 'from_date')->widget('WidgetClassName', [
    // 在此配置小部件的其它属性
]) ?>

有关 InputWidget 的更多详细信息和使用信息, 请参阅 权威指南 - 接收用户数据 - 创建表单(Creating Forms).

公共属性

隐藏继承的属性

属性类型描述定义在
$attribute string 与此小部件关联的模型属性. yii\widgets\InputWidget
$autoIdPrefix string 自动生成的小部件 ID 的前缀. yii\base\Widget
$behaviors yii\base\Behavior[] 附加到此组件的行为列表. 该属性是只读的. yii\base\Component
$counter integer 用于为小部件生成 $id 的计数器. yii\base\Widget
$field yii\widgets\ActiveField 活动的输入字段, 它会触发该小部件的渲染. yii\widgets\InputWidget
$id string|null 小部件的 ID. Note: 此属性的类型在 getter 和 setter 中不同. 有关详细信息, 请参阅 getId()setId(). yii\base\Widget
$model yii\base\Model 与此小部件关联的数据模型. yii\widgets\InputWidget
$name string 输入域名称(input标签的name值). yii\widgets\InputWidget
$options array 输入标签的 HTML 属性. yii\widgets\InputWidget
$stack yii\base\Widget[] 当前正在渲染的小部件(未结束). yii\base\Widget
$value string 输入值(input标签的value值). yii\widgets\InputWidget
$view yii\web\View 可用于渲染视图或视图文件的视图对象. Note: 此属性的类型在 getter 和 setter 中不同. 有关详细信息, 请参阅 getView()setView(). yii\base\Widget
$viewPath string 包含此小部件的视图文件的目录. 该属性是只读的. yii\base\Widget

公共方法

隐藏继承的方法

方法描述定义在
__call() 调用不是类方法的指定的方法. yii\base\Component
__clone() 在通过克隆现有对象创建对象之后调用此方法. yii\base\Component
__construct() 构造函数. yii\base\BaseObject
__get() 返回组件属性的值. yii\base\Component
__isset() 检查属性是否已设置, 即已定义且不为null. yii\base\Component
__set() 设置组件属性的值. yii\base\Component
__unset() 将组件属性设置为null. yii\base\Component
afterRun() 在执行小部件后立即调用该方法. yii\base\Widget
attachBehavior() 将行为附加到此组件. yii\base\Component
attachBehaviors() 将行为列表附加到组件. yii\base\Component
beforeRun() 在执行小部件之前立即调用该方法. yii\base\Widget
begin() 开始一个小部件. yii\base\Widget
behaviors() 返回此组件应该具有的行为列表. yii\base\Component
canGetProperty() 返回一个值, 指示属性是否可读取. yii\base\Component
canSetProperty() 返回一个值, 指示属性是否可设置. yii\base\Component
className() 返回此类的完全限定名称. yii\base\BaseObject
detachBehavior() 从组件中分离一个行为. yii\base\Component
detachBehaviors() 分离组件中的所有行为. yii\base\Component
end() 结束小部件. yii\base\Widget
ensureBehaviors() 确保在 behaviors() 中声明的行为已附加到此组件. yii\base\Component
getBehavior() 返回指定的行为对象. yii\base\Component
getBehaviors() 返回附加到此组件的所有行为. yii\base\Component
getId() 返回小部件的 ID. yii\base\Widget
getView() 返回可用于渲染视图或视图文件的视图对象. yii\base\Widget
getViewPath() 返回包含此小部件的视图文件的目录. yii\base\Widget
hasEventHandlers() 返回一个值, 指示是否有任何处理程序附加到指定的事件. yii\base\Component
hasMethod() 返回一个值, 指示方法是否已定义. yii\base\Component
hasProperty() 返回一个值, 指示属性是否已定义. yii\base\Component
init() 初始化小部件. yii\widgets\InputWidget
off() 从该组件分离现有的事件处理程序. yii\base\Component
on() 将事件处理程序附加到事件. yii\base\Component
render() 渲染视图. yii\base\Widget
renderFile() 渲染视图文件. yii\base\Widget
run() 执行小部件. yii\base\Widget
setId() 设置小部件的 ID. yii\base\Widget
setView() 设置此小部件要使用的视图对象. yii\base\Widget
trigger() 触发事件. yii\base\Component
widget() 创建一个小部件实例并运行它. yii\base\Widget

受保护的方法

隐藏继承的方法

方法描述定义在
hasModel() yii\widgets\InputWidget
renderInputHtml() 渲染 HTML 输入标签(input). yii\widgets\InputWidget

事件

隐藏继承的事件

事件类型描述定义在
EVENT_AFTER_RUN yii\base\WidgetEvent 在执行小部件之后立即触发的事件. (available since version 2.0.11) yii\base\Widget
EVENT_BEFORE_RUN yii\base\WidgetEvent 在执行小部件之前触发的事件. (available since version 2.0.11) yii\base\Widget
EVENT_INIT yii\base\Event 当通过 init() 初始化小部件时触发的事件. (available since version 2.0.11) yii\base\Widget

属性详情

$attribute public 属性

与此小部件关联的模型属性.

public string $attribute null
$field public 属性 (可用自版本: 2.0.11)

活动的输入字段, 它会触发该小部件的渲染. 如果通过 yii\widgets\ActiveField::widget() 创建小部件实例, 则将自动填充此字段.

$model public 属性

与此小部件关联的数据模型.

public yii\base\Model $model null
$name public 属性

输入域名称(input标签的name值). 如果未设置 $model$attribute, 则必须设置此项.

public string $name null
$options public 属性

输入标签的 HTML 属性.

参见 yii\helpers\Html::renderTagAttributes() 了解有关如何渲染属性的详细信息.

public array $options = []
$value public 属性

输入值(input标签的value值).

public string $value null

方法详情

hasModel() protected 方法

protected boolean hasModel ( )
return boolean

该小部件是否与数据模型相关联.

init() public 方法

初始化小部件.

如果你重写此方法, 请确保先调用父实现.

public void init ( )
renderInputHtml() protected 方法 (可用自版本: 2.0.13)

渲染 HTML 输入标签(input).

如果输入控件是 绑定到模型(`model`), 则将调用 yii\helpers\Html::activeInput(); 否则将调用 yii\helpers\Html::input().

参见:

protected string renderInputHtml ( $type )
$type string

要创建的输入的类型(input标签的type值).

return string

输入字段的 HTML.