<?=
GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'tableOptions' => ['class' => 'table custom-table-view table-striped table-bordered'],
'columns' => [
['class' => 'yii\grid\SerialColumn'],
[
'label' => 'User name',
'attribute' => 'name',
'filterInputOptions' => [
'class' => 'form-control custom-form-control pr-5',
'placeholder' => 'Search...',
],
],
],
])
?>这是我正在使用的代码,使用这个代码我可以添加类,这就是输出。
<table class="table custom-table-view table-striped table-bordered">
<thead>
<tr id="w0-filters" class="filters">
<td> </td>
<td><input type="text" id="search-name" class="form-control custom-form-control pr-5" name="Search[name]" placeholder="Search..."></td>
</tr>但我想要的是
<tr id="w0-filters" class="filters">
<td> </td>
<td>
<div class"my_class">
<input type="text" id="search-name" class="form-control custom-form-control pr-5" name="Search[name]" placeholder="Search..."><i class="fa fa-user"></i>
</div>
</td>如何添加my_class div外部输入字段。?
发布于 2022-02-07 13:57:16
问题是:你为什么要这么做?在我看来,这听起来像是在寻找GridView afterHeader函数。
如果确实需要这样的内容,则必须扩展GridView类并覆盖renderFilters()。
<?php
namespace app\common\override\yii2;
class GridView extends \kartik\grid\GridView
{
/**
* @inheritdoc
*/
public function renderFilters()
{
/* Just send the Original Filter for demonstration */
return parent::renderFilters();
}
}您将发现原始的renderFilters函数只返回一个字符串:
return Html::tag('tr', implode('', $cells), $this->filterRowOptions);更改字符串的最佳策略可能是更改renderFilterCell()函数,更简单的方法可能是
$cells[] = Html::tag('div',$column->renderFilterCell(),['class'=>'my_class']);https://stackoverflow.com/questions/68451479
复制相似问题