Yii2 数据-* 属性未使用 GridView 列呈现
Yii2 data-* attributes not rendered using GridView Column
如何在下面的函数中添加data-id
:
GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'contentOptions' => ['class' => "text-center"],
'attribute' => 'scale',
"format"=>"Html",
"value"=>function($model){
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
}
],
],
]);
这是浏览器中未显示的 data-id
属性:
"value"=>function($model){
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
}
您需要将列的 format
更改为
列的 raw
GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'contentOptions' => ['class' => "text-center"],
'attribute' => 'scale',
"format"=>"raw",
"value"=>function($model){
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
}
],
],
]);
编辑
除了返回 html
赞之外,
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
您可以使用 yii\helpers\Html::tag($name,$content,$options[])
创建一个 div 标签,见下文。
return Html::tag('div',$model->scale,['class'=>'myClass','data'=>['id'=>$model->id]]);
如何在下面的函数中添加data-id
:
GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'contentOptions' => ['class' => "text-center"],
'attribute' => 'scale',
"format"=>"Html",
"value"=>function($model){
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
}
],
],
]);
这是浏览器中未显示的 data-id
属性:
"value"=>function($model){
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
}
您需要将列的 format
更改为
raw
GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
[
'contentOptions' => ['class' => "text-center"],
'attribute' => 'scale',
"format"=>"raw",
"value"=>function($model){
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
}
],
],
]);
编辑
除了返回 html
赞之外,
return '<div class="myClass" data-id="'.$model->id.'">'.$model->scale.'</div>';
您可以使用 yii\helpers\Html::tag($name,$content,$options[])
创建一个 div 标签,见下文。
return Html::tag('div',$model->scale,['class'=>'myClass','data'=>['id'=>$model->id]]);