vue-modal-ponicy

1.1.0 • Public • Published

vmodal

基于vue.js2.0+的弹窗组件

  1. 参数,是一个对象*
modalData:{
    show: false,   	//是否显示弹窗,必填参数,modalData的必填参数
    title: '是否删除?',     //弹窗标题,默认值是“是否删除?”
    body: '是否确定删除?删除不可回复!',	// 弹窗内容,默认值是 “是否确定删除?删除不可恢复”
    width: '420px',  //容器宽度  默认值是 “420px”
    showTitle: true,  //显示标题  默认值是 true
    titleAnchor: 'center',  //标题文字位置 默认值是center居中,另外一个参数是‘left’居左
    bottomClass:['confirm', 'cancle'], //按钮添加样式,必须同时存在,若某个按钮不需添加则为空, 样式需要添加 !important
    titleClass: 'active',  //标题添加样式,样式需要添加 !important
}
  1. 监听的回调方法 a. on-cancle ; 取消按钮的回调方法,参数是false b. on-confirm; 确认按钮回调方法,参数是false

  2. 因为自组件是不能改变父组件的数据状态,所以必须通过组件的回调方法,动态修改组件的是否显示状态

  3. 该组件提供了4个可自主置换的slot插槽,可自定义自己的样式和添加自定义的dom节点

    a. 标题区的插槽:<slot name="modal-header"> </slot>
    b. 内容区的插槽:<slot name="modal-body"></slot>
    c. 底部按钮区的插槽:<slot name="modal-fooder"></slot>
    d. 关闭图标的插槽:<slot name="modal-close"></slot>   //避免该组件关闭按钮和系统ui设计不一致,可替换

  1. 注意事项 a. 置换样式时,需要注意样式的专有缓存,scoped时当前组件特有的,需注意两者关系 b. 在通过script直接引入的组件,数据传递:modalData="modalData"需要写成 :modal-Data="modalData"

  2. 用法

Import  引入:
    npm install vue-modal-ponicy --save     //npm 安装该组件包
    import modal  from 'vue-modal-ponicy'   // 导入该组件
    Vue.use(modal );      //全局注册该组件,在入口文件中倒入注册
    
    //在组件中调用,vmodal是组件名
    <vmodal :modalData.sync="modalData" @on-cancle="cancleHandle" @on-confirm="confirmHandle" />
    
    export default{
    
        data(){
            return{
                modalData: false
            }
        }
        
    }

Script 引入:
    <body>
        <div id="app">
            <div @click.stop.prevent="show">显示</div>
            <vmodal :modal-Data="modalData" @on-cancle="cancleHandle" @on-confirm="confinrHandel"></vmodal>
        </div>
    </body>
    
    <script type="text/javascript" src="./js/vue.js"></script>    
    <script type="text/javascript" src="./js/vueModal.js"></script>   //直接引入会自动全局注册
    
    var vm = new Vue({
        el: '#app',
        data:{
            modalData: {
                show: false,
            
            }
        },
        methods: {
            show: function() {
                this.modalData.show = true;   //显示弹窗
            },
            cancleHandle: function (boolean) {
                this.modalData.show = boolean;  //隐藏弹窗
            },
            confinrHandel: function (boolean) {
                this.modalData.show = boolean;   //隐藏弹窗
            }
        }
    });

  1. 兼容IE9+,Firefox,chrome,360,QQ

License

MIT

Package Sidebar

Install

npm i vue-modal-ponicy

Weekly Downloads

1

Version

1.1.0

License

MIT

Last publish

Collaborators

  • ponicy