新项目要求用typescript+vue+elementui的模式来搭建pc项目,最初踩了好多坑.
产品说提示不想用element-ui的提示. 打算用toast的形式.
所以就自己写了一个pc的toast(又能结合ts) 
然后放上来和大家分享一下,

最初是自己写的一个component,
后面想着以后也方便用,就试了一下以npm包传上去.
toast源码

安装

这款toast是基于vue使用的,所以需要在vue的大环境下去安装使用.

npm i easytoast-f-vue --save

参数

  1.  
    //toast文案
  2.  
    text?: string;
  3.  
    //持续时间(ms)
  4.  
    duration?: number;
  5.  
    //蒙层背景色(支持直接写色号,rgb,rgba,英文单词)
  6.  
    background?: string;
  7.  
    //toast背景色
  8.  
    toastBackground?: string;
  9.  
    //toast文字颜色
  10.  
    textColor?: string;
  11.  
    //toast文字排列(适用于当出现文字太长出现换行)
  12.  
    textAlign?: textAlign;
  13.  
    //toast的最大宽度(默认为400px)
  14.  
    max?: number;
  15.  
    //支持html输入(预留允许输入html串)
  16.  
    content?: string;
  • 默认的duration是2s
  • 默认的字体颜色是白色,toast背景是rgba(0,0,0,.5)
  • 如果使用html片段,设置的text参数和textColor参数和textAlign参数和max参数会失效.
  • 如果使用html片段,会校验是否有输入 script标签和a标签

使用

在入口的main.js或者main.ts中,

  1.  
    import myToast from 'easytoast-f-vue';
  2.  
    Vue.use(myToast);

然后在具体需要使用的页面中,

  1.  
    //普通的文字toast
  2.  
    this.$ftoast({
  3.  
    text: 'TOAST',
  4.  
    background: 'rgba(0, 0, 0, .5)',
  5.  
    textColor: 'pink',
  6.  
    toastBackground: 'rgba(255, 255, 255, 1)'
  7.  
    })
  8.  
     
  9.  
    //html式的toast
  10.  
    this.$ftoast({
  11.  
    text: 'TOAST',
  12.  
    background: 'rgba(0, 0, 0, .5)',
  13.  
    textColor: 'pink',
  14.  
    toastBackground: 'rgba(255, 255, 255, 1)',
  15.  
    content: '<div class="t"><p class="r">红色的字</p><p>蓝色的字</p></div>'
  16.  
    })

普通的toast

html的toast (我发现如果html的toast要使用图片资源,需要放在静态文件夹,这种固定路径的才能识别到)


发npm包

顺便讲讲怎么简单发npm包

  • 首先先到官网注册一下账号 npm官网
  • 创建一个文件夹,然后打开终端在此处进行 npm init 的操作.
  • 里面会涉及到(name, version, 等等的信息填写) 不断的下一步即可.
  • init完会生成一个package.json的文件 (和我们cli出来的package.json可以共用)
  1. 此处要注意一下. main这个参数是指一个路径, 当别人import你这个包的时候,的入口文件是哪个.
  2. 如果涉及到typescript的types(d.ts文件时), 要在package.json里面增加一个 "typings"参数路径,引用向对应的d.ts即可
  3. 所有东西都可以自行在package.json里面修改.
  • 然后把相关的代码自行拷贝到这个文件夹中.
  • 操作完执行 npm login 进行登录操作.
  • 登录完毕后 执行 npm publish 就可以发布了.
  • 后续的更新操作是遵循这样的规则.
    1. 有分3种形式 npm version (patch, minor, major)
    2. patch是指小补丁 从 1.0.0 更新为 1.0.1
    3. minor是指小改动 从 1.0.0 更新为 1.1.0
    4. major是指大改动 从 1.0.0 更新为 2.0.0
    5. 选择完对应的进行 npm version ** 然后再执行一次 npm publish 即可.

VUE一款适用于pc平台的简单toast的更多相关文章

  1. PLDroidPlayer 是七牛推出的一款免费的适用于 Android 平台的播放器 SDK,采用全自研的跨平台播放内核,拥有丰富的功能和优异的性能,可高度定制化和二次开发。 https://developer.qiniu.com/pili/sdk/…

    PLDroidPlayer PLDroidPlayer 是一个适用于 Android 平台的音视频播放器 SDK,可高度定制化和二次开发,为 Android 开发者提供了简单.快捷的接口,帮助开发者在 ...

  2. 第二次作业-关于Steam游戏平台的简单分析

    1.1 Steam平台的简单介绍 你选择的产品是? 如题,这次的作业我选择了Steam作为分析的对象. 为什么选择该产品作为分析? 我选择数字游戏贩售平台STEAM作为分析对象的原因有以下几点: 1. ...

  3. 2017-2018-2 《网络对抗技术》 20155302 第二周 Exp1 PC平台逆向破解(5)M

    2017-2018-2 <网络对抗技术> 20155302 第二周 Exp1 PC平台逆向破解(5)M 1-实践目标 1.1-实践介绍 本次实践的对象是一个名为pwn1的linux可执行文 ...

  4. PC平台逆向破解实验报告

    PC平台逆向破解实验报告 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另 ...

  5. 20165223《网络对抗技术》Exp1 PC平台逆向破解

    目录--PC平台逆向破解 1 逆向及BOF基础实践说明 1.1 实践内容 1.2 实践要求 1.3 基础知识 2 实验步骤 2.1 直接修改程序机器指令,改变程序执行流程 2.2 通过构造输入参数,造 ...

  6. 20155324《网络对抗》Exp1 PC平台逆向破解(5)M

    20155324<网络对抗>Exp1 PC平台逆向破解(5)M 实验目标 本次实践的对象是一个名为~pwn1~的~linux~可执行文件. 该程序正常执行流程是:~main~调用~foo~ ...

  7. 2018-2019-2 20165237《网络攻防技术》Exp1 PC平台逆向破解

    2018-2019-2 20165237<网络攻防技术>Exp1 PC平台逆向破解 一.实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调 ...

  8. 2018-2019-2 20165234 《网络对抗技术》 Exp1 PC平台逆向破解

    实验一 PC平台逆向破解 实验目的 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另 ...

  9. 20165221 《网络对抗技术》EXP1 PC平台逆向破解

    20165221 <网络对抗技术>EXP1 PC平台逆向破解 一.实验内容 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函 ...

随机推荐

  1. 基于springcloud搭建项目-Feign篇(四)

    上一篇已经写过ribbon客户端负载均衡的用法了,这篇主要是介绍feign的用法,首先我们必须了解feign是什么?能干嘛?怎么用? 这里简单介绍一下,然后进行代码测试 1.概述 Feign是一个声明 ...

  2. 基于VR三维全景的虚拟展馆展览实现

    VR三维全景虚拟现实技术的应用,能够通过全方位互动式来还原真实场景,令人产生一种身临其境的感觉,由于三维全景虚拟现实技术具有一定应用优势,其在企业与院校展示.建筑规划展示.酒店宾馆展示等方面都逐步得到 ...

  3. Head First设计模式——生成器和责任链模式

    生成器 生成器模式:封装一个产品的构造过程,并允许按步骤构造. 现又一个度假计划指定,需要指定度假每一天的活动.旅馆.用餐.门票等等事情,但是每个客人的度假计划可能不太一样.例如天数.活动类型.用餐等 ...

  4. [poj1062][最短路]昂贵的聘礼

    (最近总是有想让我的小博客更加充实的冲动,遇见一个不平常的题就想写下来.今天这个题姑且算是同学推荐的好题,很有意思,志之) 题目 题面 年轻的探险家来到了一个印第安部落里.在那里他和酋长的女儿相爱了, ...

  5. 使用ajax提交登录

    引入jquery-1.10.2.js或者jquery-1.10.2.min.js 页面 <h3>后台系统登录</h3> <form name="MyForm&q ...

  6. pip 安装超时问题

    pip install -i https://pypi.doubanio.com/simple/ 包名 参考: https://blog.csdn.net/qq_39161804/article/de ...

  7. js函数的三种成创建方式以及它们各自的不同

    js有三种创建函数的方式: 1.function语句(也叫函数声明) function sum(a, b) { return a + b; } sum(1, 2); // 3 2. 函数直接量,又叫函 ...

  8. js 统计一个字符串中出现的字符最多的字符

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. [POI2017]bzoj4726 Sadota?

    题目描述 离线题库请 题目描述 某个公司有\(n\)个人, 上下级关系构成了一个有根树.其中有个人是叛徒(这个人不知道是谁).对于一个人, 如果他 下属(直接或者间接, 不包括他自己)中叛徒占的比例超 ...

  10. 何为内存模型(JMM)?

    前言 任何一门语言都有其语言规范,从逻辑上我们可划分为语法规范和语义规范,语法规范则是描述了如何通过相关语法编写可执行的程序,而语义规范则是指通过语法编写的程序所构造出的具体含义.语言只要具备存储(比 ...