【原创】yii2使用GridView操作ActionColumn栏目根据权限设置显示或隐藏

yii2在使用GridView显示列表内容,最后操作栏目里面的查看、更新删除,根据后台设置路由权限自动显示或隐藏,查看源码后发现原来在\vendor\yiisoft\yii2\grid\ActionColumn.php文件里就有对应的属性可以设置了,例如需要判断按钮是否显示就可以设置visibleButtons属性以下红色部分代码即可。

[
	'class' => 'yii\grid\ActionColumn',
	//'template' => '{update} {delete}',
	'visibleButtons' => [
		'update' => \Yii::$app->user->can('buy/update'),
		'delete' => \Yii::$app->user->can('buy/delete'),
		'view' => \Yii::$app->user->can('buy/view'),
	],
	'buttons' => [
		'delete' => function ($url, $model) {
			return Html::a('    ',

				$url.'&'.http_build_query($model->toArray()),
				[
					//'class'=>'w1-action-del a_delete',
					'title' => Yii::t('yii', '删除'),
					'aria-label' => Yii::t('yii', '删除'),
					//'id'=>'a_delete',
					'data-pjax'=>0,
					'data-method'=>'post',
					'data-confirm' => '您确定要删除此项吗?'
				]
			);
		},
	],
],

Yii::$app->user->can是判断用户路由权限。

button的delete是我自定义的内容,可以不用理会。

此条目发表在服务器分类目录,贴了标签。将固定链接加入收藏夹。

发表回复