【问题标题】:Yii2: how to pass data column in actionColumn?Yii2:如何在actionColumn中传递数据列?
【发布时间】:2020-06-10 17:02:56
【问题描述】:

我有一个包含两列的 GridView:country_name 和一个带有名为 Save 的按钮的 actionColumn

保存按钮是一个超链接,例如:

http://localhost/countries/view?country_name=Argentina

我不知道如何将 Argentina 设置为 country_name,因为我的视图没有模型。我只有 country_name 列中的数据。

GridView::widget([
  'dataProvider' => $dataProvider,
  'columns' => [
    'country_name',
    [
      'class' => 'yii\grid\ActionColumn',
      'template' => '{save}',
      'buttons' => [
        'save' => function($model) {
          return Html::a('Save', ['/countries/view', 'country_name' => $model['country_name']]); // Error: Illegal string offset 'country_name'
        }
      ]
    ],
  ],
])

我正在使用这个Yii2 help

【问题讨论】:

  • 试试$model->country_name
  • @SergheiLeonenco。错误:“试图获取非对象的属性”。
  • 显示您的数据提供者,

标签: html gridview model yii2


【解决方案1】:

参见ActionColumn:$buttons 文档 - 模型作为第二个参数传递给按钮回调:

'buttons' => [
    'save' => function($url, $model) {
        return Html::a('Save', ['/countries/view', 'country_name' => $model['country_name']]);
    }
]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多