从kartik-v自定义对话框中删除“确定”按钮

时间:2018-06-07 14:21:59

标签: twitter-bootstrap-3 yii2 kartik-v

我尝试使用yii2-dialog小部件之一kartik-v创建自定义对话框。我想用一个按钮创建这个对话框:Statistics所以,使用演示中提供的文档,我编写了下面的代码。

问题是我得到的对话有两个按钮而不是一个,我无法摆脱OK按钮。

我的问题是:有没有办法使用带有单个按钮的yii2对话框创建自定义对话框?如果可能的话,我该怎样才能做到这一点?

use kartik\dialog\Dialog;
use yii\web\JsExpression;

echo Dialog::widget([
    'libName' => 'krajeeDialogCust',
    'overrideYiiConfirm' => false,
    'options' => [
        'size' => Dialog::SIZE_LARGE,
        'type' => Dialog::TYPE_SUCCESS,
        'title' => 'My Dialog',
        'message' => 'This is an entirely customized bootstrap dialog from scratch.',
        'buttons' => [
            [
                'id' => 'cust-btn-1',
                'label' => 'Statistics',
                'action' => new JsExpression("function(dialog) {
                    dialog.setTitle('Title 1');
                    dialog.setMessage('This is a custom message for button number 1');
                }")
            ],
        ]
    ]
]);

// button for testing the custom krajee dialog box
echo '<button type="button" id="btn-custom" class="btn btn-success">Custom Dialog</button>';

// javascript for triggering the dialogs
$js = <<< JS
$("#btn-custom").on("click", function() {
    krajeeDialogCust.dialog(
        "Welcome to a customized Krajee Dialog! Click the close icon on the top right to exit.",
        function(result) {
            // do something
        }
    );
});
JS;

// register your javascript
$this->registerJs($js);

这就是我得到的:

I want to get rid of the OK blue button

1 个答案:

答案 0 :(得分:1)

您需要使用dialogDefaults选项,根据文档将配置选项设置为引导对话框的默认值(适用于useNativefalse时)。在您明确设置为useNative之前,false的默认值为true

Dialog定义更新为以下内容并覆盖buttons选项中的dialogDefault属性,因为默认情况下插件会设置okcancel按钮。

echo Dialog::widget ( [
    'libName' => 'krajeeDialogCust' ,
    'overrideYiiConfirm' => false ,
    'dialogDefaults' => [
        Dialog::DIALOG_OTHER => [
            'buttons' => ''
        ]
    ] ,