新项目要求用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. 音频相关 ALSA ffmpeg ffplay 命令用法 g7xx

    采样率: samples 441100 每秒 DAC/ADC 采样的频率,声卡一般还支持 48k 8k 等模式. 通道:channels 2声道 左右声道 也有单声道的声音,5.1 声道 位数: 16 ...

  2. 微信小程序用setData修改数组或对象中的一个属性值,超好用,最简单的实现方法,不容错过!大神们 都 在 看 的方法!!!

    在page中 data: { info: [{ name: "yuki", tou: "../img/head.jpg", zGong: 130, gMoney ...

  3. Java Grammar(二):运算符

    运算符简介 计算机自打诞生以来,用作最多的就是进行计算,而计算离不开运算符,所以运算符在我们的Java语言中的地位举足轻重,我们现在就来了解一下Java给我们提供的运算符. 从运算的元素的个数来区分, ...

  4. SpringBoot+AOP构建多数据源的切换实践

    针对微服务架构中常用的设计模块,通常我们都会需要使用到druid作为我们的数据连接池,当架构发生扩展的时候 ,通常面对的数据存储服务器也会渐渐增加,从原本的单库架构逐渐扩展为复杂的多库架构. 当在业务 ...

  5. win10安装docker 和 splash

    参考链接1:https://www.cnblogs.com/321lxl/p/9536616.html 参考链接2:https://blog.csdn.net/qq_18831501/article/ ...

  6. Robotutor Scratch3.0 在线编程平台上线!

    终于,Scratch3.0在线编程平台上线了,不容易阿! 欢迎试用 https://scratch.robotutor.cn 欢迎交流,WeChat ID: iamlinweidong

  7. Spark入门(七)--Spark的intersection、subtract、union和distinc

    Spark的intersection intersection顾名思义,他是指交叉的.当两个RDD进行intersection后,将保留两者共有的.因此对于RDD1.intersection(RDD2 ...

  8. ATOMac - 基于Python的Mac应用Ui自动化库

    ATOMacTest 一.缘 起 近期工作需要对一款Mac端应用实现常用功能的自动化操作,同事推荐ATOMac这款工具,这几天简单研究了下,同时也发现现网介绍ATOMac的资料非常有限,故在此记录下A ...

  9. mysql数据库设计文档-导出字段设计

    navicat 是我一直在使用的一个数据库操作工具,非常方便快捷.如果没有可用navicat可以留言邮箱我直接发您. 今天来介绍一下使用navicat导出数据库字段设计.废话不多说,先看导出效果. 查 ...

  10. 免注册公众号的三种微信推送消息服务的C#代码实现

    有时候我们需要监控一些网络上的变化,但是每次去刷新网页却又很麻烦,而且大部分刷新的时候网页并没有更新.那么有没有一个工具,可以监控网页变化,并将变化的结果推送到手机微信上呢? 这里有很多应用场景,比如 ...