Yii2利器GridView秘籍 / GridView之RadioButtonColumn使用说明

阿北哥ya 143次阅读

本篇我们介绍一种简单的Column,对,就是单选框。

RadioButtonColumn是一个比较简单的Column,我们需要注意3个属性,分别为

为了说的更清楚,我们先来看RadioButtonColumn的效果,如下图。

效果大家看到了,是一个单选组,只能一个被选中,因此RadioButtonColumn要帮我们完成几件事情

name和radioOptions(name、checked)属性就完成了上述需求,我们只需要如下做

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'columns' => [
        'id',
        [
            'class' => 'yii\grid\RadioButtonColumn',
            'name'=>'abc',
            'radioOptions' => function ($model) {
                return [
                    'value' => $model->id,
                    'checked' => $model->id == 1
                ];
            }
        ]
    ]
]);?>

到此刻我想你已经看明白了吧。name="abc"是radio标签的name属性,而其他操作则放到了radioOptions中,它是一个匿名函数,有3个参数

function($model, $key, $index){

}

分别代表当前的记录、对应key、行号。

对于此匿名函数我们需要返回一个数组,其中的value代表每个radio值,而checked决定了哪个radio被选。

要说的是,name和radioOptions并不是必须项,你如果不写它们则name默认为radioButtonSelection值,radioOptions的配置中没有radio被checked,每个radio的value等于$key值(一般来说是ar对应记录的主键)。

最后要说,对于name属性你可以去设置,但是不能将其设置为空。

OK,这就是RadioButtonColumn的用法,下一篇将给大家说说CheckboxColumn列,你如果常做比如全选等需求,CheckboxColumn篇一定要看。

此文编号为420 上次更新于2个月前 / Yii 频道
相关文章
留言
小提醒 欢迎大家留言并且我会拿出时间去看,当然我会删除那些被视为垃圾或广告的留言。
1-1条,共1条数据.
核桃爸
2个月前
#1062

已经用过,不过没有这么细,多谢北哥,很多细节的地方都说到了。

首页 登录 / 注册