8

wc-messagebox

  • 基于 vue 2.0 开发的插件

  • 包含 Alert, Confirm, Toast, Prompt

  • 仿照 iOS 原生UI(样式来源: MUI)

一些想法

刚开始的时候想要用现成的弹窗组件来着, 但是查找一圈没有发现比较合适项目的, 所以才自己开发了一个, 包含 Alert, Comfirm, Toast, Prompt 四种, 并且可以单个引入.
Vue 的组件开发实际上比较简单, 有兴趣的可以看下源码实现, 步骤很清晰.
关于样式的问题, 是直接从 MUI(魅族开发的) 中拿过来的, 仿照 iOS 的效果.

效果图

图片描述
图是动图... 动不了点一下就好.

Install

npm i wc-messagebox --save

Quick Start

import {Alert, Confirm, Toast} from 'wc-messagebox'
import 'wc-messagebox/style.css'

Vue.use(Alert, options)
Vue.use(Confirm, options)
Vue.use(Toast, options)

Usage

this.$alert(text, options)
options = {
    title: '',  // 默认无标题
    btn: {
        text: '',
        style: {
            'backgroun-color': 'red',
            'font-size': '20px',
            'color': 'blue'
        }
    }
}

this.$confirm(text, options)
options = {
    title: '', // 默认无标题
    yes: {
        text: '确定',
        style: {}
    },
    no: {
        text: '取消',
        style: {}
    }
}
this.$toast(text, options);
options = {
    position: 'bottom' // 'bottom' | 'center',
    duration: '1500'
}

其他

Alert, Confirm 返回的是一个Promise, 以支持链式调用.

this.$confirm(text).then(success).catch(fail)

项目地址

项目地址


云水摇啊摇
362 声望15 粉丝

不信人间有白头.


5

引用和评论

5 条评论
头像
匆匆__

你好,我这样用了这个组件后,一直提示我vue-style-loader css-loader依赖找不到,这个是为什么

  • !!vue-style-loader!css-loader?{"sourceMap":false}!../../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-2edc4f4a","scoped":true,"hasInlineConfig":false}!less-loader?{"sourceMap":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0&bustCache!./tpl.vue in ./src/wc-messagebox/Alert/tpl.vue
  • !!vue-style-loader!css-loader?{"sourceMap":false}!../../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-7b1b9f6e","scoped":true,"hasInlineConfig":false}!less-loader?{"sourceMap":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0&bustCache!./tpl.vue in ./src/wc-messagebox/Confirm/tpl.vue
  • !!vue-style-loader!css-loader?{"sourceMap":false}!../../../node_modules/vue-loader/lib/style-compiler/index?{"vue":true,"id":"data-v-cb3d3dd6","scoped":true,"hasInlineConfig":false}!less-loader?{"sourceMap":false}!../../../node_modules/vue-loader/lib/selector?type=styles&index=0&bustCache!./tpl.vue in ./src/wc-messagebox/Toast/tpl.vue
2018-01-10
头像
苍山暮色烟雨迟

请问如何接受confirm返回的成功或者失败呢?

2018-05-02
头像
supbose
         .then(
             () => {
               console.log("yes")
             }
           )
           .catch(() => {
             console.log("no")
           });
2018-08-13
头像
一叶而知秋灬

请问toast的图文的图是怎么设置的?

2018-09-05
头像
陈建平

没有 prompt

2019-01-16