Удалить кнопку ОК из пользовательского диалога kartik-v - PullRequest
0 голосов
/ 07 июня 2018

Я пытался создать собственный диалог, используя yii2-dialog, один из виджетов kartik-v.Я хочу создать это диалоговое окно с помощью одной кнопки: Statistics, поэтому, используя документацию, представленную в демоверсии, я написал код ниже.

Проблема в том, что в моем диалоговом окне две кнопки вместо однойи я не могу избавиться от кнопки ОК.

Мои вопросы: есть ли способ создать собственный диалог, используя 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 голосов
/ 07 июня 2018

Вам необходимо использовать опцию dialogDefaults, в соответствии с документацией параметры конфигурации, которые будут установлены по умолчанию для диалога начальной загрузки (применимо, если useNative равно false).и значением по умолчанию для useNative является false, пока вы явно не установите значение true.

Обновите определение Dialog ниже и переопределите свойство buttons в параметре dialogDefault какПлагин устанавливает кнопки ok и cancel по умолчанию.

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