按钮单击yii2

时间:2017-01-31 14:29:44

标签: yii2

我在视图中有这个按钮:
<button name="render_button" class='btn btn-block btn-primary' style="width:100px;height:30px;" > Render </button><br>
如何设置具有特定功能的来电actionIndex,例如,如果点击button_1,则使用actionIndex致电getSome();,如下所示:

public function actionIndex()
{
    if(isset($_POST['render_button'])) {
        $data = order::getSome();
    }

    $dataProvider = new ArrayDataProvider([
        'allModels' => $data,
        'sort' => [
        ],
        'pagination' => [
            'pageSize' => 50,
        ],
    ]);

    return $this->render('index',['dataProvider' =>$dataProvider]);
}

1 个答案:

答案 0 :(得分:1)

您应该为$data变量设置初始值,类似null之类的值,然后将其传递给$dataProvider数组,如下所示:

public function actionIndex()
{
    $data = null;
    if(isset($_POST['render_button'])) {
        $data = order::getSome();
    }

    $dataProvider = new ArrayDataProvider([
        'allModels' => $data,
        'sort' => [
        ],
        'pagination' => [
            'pageSize' => 50,
        ],
        'data' => $data
    ]);

    return $this->render('index',['dataProvider' =>$dataProvider]);
}

现在,在您的视图中,您只需检查$data变量null,或者您获得触发器并在order::getSome()变量中标记$data个数据。

修改

没有看到您将$data变量传递给allModels项,但它是相同的。只要查看allModels,只需将其设置为null或其中包含一些数据。

<强>更新

更新您的观看次数index.php以获得如下的发布表单:

<form method="post">
    <button type="submit" name="render_button" class='btn btn-block btn-primary' style="width:100px;height:30px;" > Render </button><br>
</form>