Toast.vue 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <template>
  2. <portal to="notification-outlet">
  3. <div class="toast-wrap" v-if="show">
  4. <div class="content">
  5. <div class="text" v-html="message||msg">
  6. <!-- {{message||msg}} -->
  7. </div>
  8. <div class="btn">
  9. <span @click="comfirn" class="comf">确定</span>
  10. <span @click="cancel" class="canc">取消</span>
  11. </div>
  12. </div>
  13. <div class="mask" @click="cancel"></div>
  14. </div>
  15. </portal>
  16. </template>
  17. <script type="text/javascript">
  18. import $ from 'jquery';
  19. export default {
  20. name:'Toast',
  21. data(){
  22. return {
  23. msg:"是否删除该信息?"
  24. }
  25. },
  26. props:['message','show','labShow'],
  27. methods:{
  28. comfirn(){
  29. $(".btscroll").css({'position':'absolute'})
  30. this.$emit("comfirn")
  31. },
  32. cancel(){
  33. $(".btscroll").css({'position':'absolute'})
  34. this.$emit("cancel")
  35. },
  36. },
  37. }
  38. </script>
  39. <style lang="less" scoped>
  40. @import '../less/base.less';
  41. .toast-wrap{
  42. .content{
  43. width: 6.3rem;
  44. height: 3.52rem;
  45. background: #fff;
  46. z-index: 999;
  47. // position: absolute;
  48. position: fixed;
  49. top:50%;
  50. left: 50%;
  51. transform: translate(-50%,-50%);
  52. padding: .5rem;
  53. box-sizing: border-box;
  54. border-radius: .2rem;
  55. z-index: 1000;
  56. .text{
  57. color:#000;
  58. text-align: center;
  59. height: 1.25rem;
  60. // overflow-y: auto;
  61. padding-top: .2rem;
  62. font-size: .3rem;
  63. }
  64. .btn{
  65. margin-top: .30rem;
  66. padding: 0 .7rem;
  67. display: flex;
  68. justify-content: space-between;
  69. span{
  70. display: inline-block;
  71. width: 1.6rem;
  72. height: .70rem;
  73. line-height: .70rem;
  74. text-align: center;
  75. // color: #fff;
  76. font-size: .30rem;
  77. // background: -webkit-gradient(linear, right top, left top, from(#4F8BFF), to(#4F4FFF));
  78. // background: linear-gradient(right, #4F8BFF, #4F4FFF);
  79. // box-shadow: 0 .12rem .24rem 0 rgba(79,129,255,0.40);
  80. border-radius: .35rem;
  81. }
  82. .comf{
  83. color:#F64B44;
  84. border:2px solid rgba(246,75,68,1);
  85. }
  86. .canc{
  87. color: #4F50FF;
  88. border:2px solid rgba(79,80,255,1);
  89. }
  90. }
  91. }
  92. .mask{
  93. .mask;
  94. z-index: 999;
  95. }
  96. }
  97. </style>