从 kartik-v 自定义对话框中删除确定按钮
Remove OK button from kartik-v custom dialog
我尝试使用 yii2-dialog
创建自定义对话框,kartik-v
小部件之一。我想用一个按钮创建这个对话框:Statistics
所以,使用演示中提供的文档,我编写了下面的代码。
问题是我得到的对话框有两个按钮而不是一个,我无法摆脱确定按钮。
我的问题是:有什么方法可以使用带有单个按钮的 yii2-dialog 创建自定义对话框吗?如果可能的话,我怎样才能做到这一点?
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);
这就是我得到的:
您需要使用 dialogDefaults
选项,根据文档将配置选项设置为 bootstrap 对话框的默认设置(当 useNative
为 false
时适用). useNative
的默认值为 false
,直到您明确设置为 true
。
将您的 Dialog
定义更新到下面,并覆盖 dialogDefault
选项中的 buttons
属性,因为插件设置了 ok
和 cancel
默认按钮。
echo Dialog::widget ( [
'libName' => 'krajeeDialogCust' ,
'overrideYiiConfirm' => false ,
'dialogDefaults' => [
Dialog::DIALOG_OTHER => [
'buttons' => ''
]
] ,
我尝试使用 yii2-dialog
创建自定义对话框,kartik-v
小部件之一。我想用一个按钮创建这个对话框:Statistics
所以,使用演示中提供的文档,我编写了下面的代码。
问题是我得到的对话框有两个按钮而不是一个,我无法摆脱确定按钮。
我的问题是:有什么方法可以使用带有单个按钮的 yii2-dialog 创建自定义对话框吗?如果可能的话,我怎样才能做到这一点?
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);
这就是我得到的:
您需要使用 dialogDefaults
选项,根据文档将配置选项设置为 bootstrap 对话框的默认设置(当 useNative
为 false
时适用). useNative
的默认值为 false
,直到您明确设置为 true
。
将您的 Dialog
定义更新到下面,并覆盖 dialogDefault
选项中的 buttons
属性,因为插件设置了 ok
和 cancel
默认按钮。
echo Dialog::widget ( [
'libName' => 'krajeeDialogCust' ,
'overrideYiiConfirm' => false ,
'dialogDefaults' => [
Dialog::DIALOG_OTHER => [
'buttons' => ''
]
] ,