新项目要求用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. 使用增量备份修复DG中的GAP

    问题描述 oracle中DG出现主备不同步现象,alert日志报警有gap信息,但是v$archive_gap视图查不到任何信息.同时主库上的对应归档已经删除且没有备份 解决方案 1.查询备库的scn ...

  2. HDFS文件系统基操--Java实现

    Java实现对HDFS文件系统的基本操作 1.准备好jar包 2.创建一个类 1. 测试连接 @Test //测试是否连接成功 public void test() { //添加配置 ==> c ...

  3. 用原生JS实现爱奇艺首页导航栏

    以下是爱奇艺首页的一个导航栏,用原生js写的,静态页面效果如下: 代码如下: <html> <head> <title>爱奇艺</title> < ...

  4. 浅析Redis分布式锁---从自己实现到Redisson的实现

    当我们在单机情况下,遇到并发问题,可以使用juc包下的lock锁,或者synchronized关键字来加锁.但是这俩都是JVM级别的锁,如果跨了JVM这两个锁就不能控制并发问题了,也就是说在分布式集群 ...

  5. webstorm 开新项目 setting 设置@目录别名 add @ (languages & Framewors - Javascript - Webpack 4. setting eslint enable

    webstorm 开新项目 setting 设置@目录别名 add @ (languages & Framewors - Javascript - Webpack 4. setting esl ...

  6. (转)SpringBoot :(has no explicit mapping for /error)

    转载自:https://www.cnblogs.com/panchanggui/p/9945261.html 异常:This application has no explicit mapping f ...

  7. JavaScript每日学习日记(1)

    8.11.2019 1. lastIndexOf() 方法从尾到头进行检索. 2. 有三种提取部分字符串的方法: 2.1 slice(start, end)  如果某个参数为负,则从字符串的结尾开始计 ...

  8. SQL常见错误总结

    目录 语法错误 标点错漏 重命名 数据拼接 null值 逻辑顺序 函数错误 参数的数量 参数的格式 逻辑错误 数据重复 无效筛选 标签重叠 时间错位 SQL是数据分析中最高频的操作之一,本文梳理常见的 ...

  9. Redis入门学习(学习过程记录)

    Redis(入门笔记) 学习一个大的技术点,然后顺带着就把这个技术点的面试题给学习了. 学习完一个技术后,如果面试题还不能够解答的话,只能说明学的不精,需要查漏补缺. 下一个学习的方向:Redis-非 ...

  10. 图解I/O模型

      本文带你鸟瞰I/O模型全貌,希望可以让你对I/O模型有一个直观的认识 什么是I/O?I/O的过程?同步阻塞 I/O同步非阻塞 I/OI/O多路复用异步I/O 什么是I/O?   I/O就是计算机内 ...