按钮点击yii2

按钮点击yii2,yii2,Yii2,我看到了这个按钮: 渲染 如何使用特定功能设置调用actionIndex,例如,如果单击按钮1,则使用getSome()调用actionIndex,如下所示: public function actionIndex() { if(isset($_POST['render_button'])) { $data = order::getSome(); } $dataProvider = new ArrayDataProvider([ 'all

我看到了这个按钮:
渲染

如何使用特定功能设置调用
actionIndex
,例如,如果单击
按钮1
,则使用
getSome()调用
actionIndex
,如下所示:

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]);
}

您应该为
$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]);
}
<form method="post">
    <button type="submit" name="render_button" class='btn btn-block btn-primary' style="width:100px;height:30px;" > Render </button><br>
</form>
现在,在视图中,只要检查
$data
变量是否为
null
,或者获取触发器并在
$data
变量中选择
order::getSome()
数据

编辑

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

更新

更新您的视图
index.php
,使其具有如下发布表单:

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]);
}
<form method="post">
    <button type="submit" name="render_button" class='btn btn-block btn-primary' style="width:100px;height:30px;" > Render </button><br>
</form>

渲染

它不处理控制器中的按钮点击。例如,
if(isset($\u POST['render\u button']){actionIndex();}
没有刷新页面。您需要有一个表单或使用AJAX发布/获取。您可以使用包含按钮的完整HTML代码进行更新吗?我的视图中只有这个
呈现
(index.php)尝试添加一个表单,并将按钮设置为提交类型。请检查我的最新答案。最好使用@stand表格。除非另有指示,否则按钮将始终启动
GET
请求