1. 程式人生 > >Vue 自定義一個可以高度自由化的模態框元件

Vue 自定義一個可以高度自由化的模態框元件

export default { name: "PromptModal", data : function(){ return { modal_show : false, title : '', body : '', btn_name_left : '取消', // 左側按鈕的顯示的文字, btn_name_right : '確定', // 左側按鈕的顯示的文字, btn_class_left : 'btn btn-secondary'
, // 左側按鈕的類 btn_class_right : 'btn btn-secondary btn-primary', // 右側按鈕的類 btn_url_left : '', // 左側按鈕跳轉的url btn_url_right : '', // 右側按鈕跳轉的url } }, methods : { // 初始化引數 open: function(params){ this
.title = !! params.title ? params.title : this.title; this.body = !! params.body ? params.body : this.body; this.btn_name_left = !!params.btn_name_left ? params.btn_name_left : this.btn_name_left; this.btn_name_right = !!params.btn_name_right ? params.btn_name_right : this
.btn_name_right; this.btn_class_left = !!params.btn_class_left ? params.btn_class_left : this.btn_class_left; this.btn_class_right = !!params.btn_class_right ? params.btn_class_right : this.btn_class_right; this.btn_url_left = !!params.btn_url_left ? params.btn_url_left : this.btn_url_left; this.btn_url_right = !!params.btn_url_right ? params.btn_url_right : this.btn_url_right; $('#modal-prompt').modal('toggle'); }, // 按鈕點選事件 redirectUrl : function(source){ switch (source) { case 'left': if (!!this.btn_url_left) { window.location.href = this.btn_url_left; } break; case 'right': if (!!this.btn_url_right) { window.location.href = this.btn_url_right; } break; } } } }