vue在antDesign框架或elementUI框架组件native事件中触发2次问题

 更新时间:2022年04月22日 15:07:46   作者:risenew  
这篇文章主要介绍了vue在antDesign框架或elementUI框架组件native事件中触发2次问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue在antDesign或elementUI组件native事件中触发2次

打印event.target

核心思想是设置下event.target的过滤

运用ant-design-vue组件库,且在项目中遇到的问题

难以改变的默认样式

可能大家在运用到组件库的时候都会遇到要改变其组件自带的样式,组件自带的都难以去改变,下面来看看,这种方法很有效果。。。。。

首先,!important

对于一般的组件样式,找到你要改变其组件的class名,在样式后加上!important,它的权重比较高,。

.ant-select {
  width: 145px !important;
}
.happy-scroll-content {
  width: 100% !important;
}

其次,/deep/

/deep/ .happy-scroll-content {
  width: 100% !important;
}

最后,如果以上两个都不好用,::v-deep最好的选择

 ::v-deep .ant-col {
  margin-bottom: 7px;
}

让通知提醒框的内容自动换行

一撮内容,在js的地盘,也不可能让我在里面插入个<br/>或者\n,而且还是从后端返回的多条数据,最终还是解决了…

没改变之前,是这个样子的

 openNotification() {
  this.$notification.open({
    message: 'Notification Title',
    description:
      'I will never close automatically. I will be close automatically. I will never close automatically.',
    duration: 0,
  });
},

运用了descriptionAPI的特性,function(h),可以理解是vue里的一个render函数里面的createElement,这里就不过多讲解,直接贴代码了,效果如下:

 this.$notification[type]({  
       message: h=>{return h('div',{style:{'font-size':'14px'}},str)},
       description: h => {
       return h("div",this.tips.map(function(item){
       return h('li',{style:{'font-size':'12px'}},item)//可以改变其li的样式
  }));
   },
   duration: 10,
   });

table组件表格出现时间时,格式问题

对于后端返回的数据,有的数据直接渲染就可以,但是有的还要改变其格式,方可展示,那就用到了customRender,当然也少不了时间格式的转换moment

import moment from "moment";
const formatterTime = val => {
  return val ? moment(val).format("YYYY-MM-DD HH:mm:ss") : "";
};

在需要改变的数据columns中,加上customRender,就能实现时间格式的转换了

{
    title: "上传时间",
    dataIndex: "updateTime",
    width: '20%',
    customRender: (text, row, index) => {
    return (
    <a style="color:#000" href="javascript:;" rel="external nofollow" >
    {formatterTime(text)}
     </a>
    );
   }
 },

当你遇到这样的bug时,可能出现了这样的问题

vue.runtime.esm.js?0261:619 [Vue warn]: Error in render: “TypeError:

Cannot read property ‘0’ of undefined”

出现这个错误的原因其实是Vue在拿到数据之前就渲染了dom,那么在你的html结构中加上v-if,某个数据的长度,如:

v-if="dataList.length>0

“ReferenceError: h is not defined”

原因:在用到colums,没放到data里定义,会报错

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Vue+axios实现统一接口管理的方法

    Vue+axios实现统一接口管理的方法

    这篇文章主要介绍了Vue+axios实现统一接口管理的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-07-07
  • Vue使用vue-drag-resize生成悬浮拖拽小球

    Vue使用vue-drag-resize生成悬浮拖拽小球

    这篇文章主要为大家详细介绍了Vue使用vue-drag-resize生成悬浮拖拽小球,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Vue.use的原理和设计源码探究

    Vue.use的原理和设计源码探究

    这篇文章主要为大家介绍了Vue.use的原理和设计源码探究详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结

    Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结

    这篇文章主要介绍了Vue指令v-for遍历输出JavaScript数组及json对象的常见方式,结合实例形式总结分析了vue.js使用v-for指令遍历输出js数组与json对象的常见操作技巧,需要的朋友可以参考下
    2019-02-02
  • vue实现移动端省市区选择

    vue实现移动端省市区选择

    这篇文章主要为大家详细介绍了vue实现移动端省市区选择,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • Vue项目导入导出文件功能以及导出文件后乱码问题及解决

    Vue项目导入导出文件功能以及导出文件后乱码问题及解决

    这篇文章主要介绍了Vue项目导入导出文件功能以及导出文件后乱码问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue socket.io模块实现聊天室流程详解

    Vue socket.io模块实现聊天室流程详解

    vue-socket.io其实是在socket.io-client(在浏览器和服务器之间实现实时、双向和基于事件的通信)基础上做了一层封装,将socket挂载到vue实例上,同时可使用sockets对象轻松实现组件化的事件监听,在vue项目中使用起来更方便
    2022-12-12
  • vue 打包后的文件部署到express服务器上的方法

    vue 打包后的文件部署到express服务器上的方法

    vue是目前最流行的前端框架,今天要介绍的是如何利用vue+webpack+express的方式进行前后端分离的开发,下面通过本文给大家分享vue 打包后的文件部署到express服务器上的方法,感兴趣的朋友一起看看吧
    2017-08-08
  • vue2 设置router-view默认路径的实例

    vue2 设置router-view默认路径的实例

    今天小编就为大家分享一篇vue2 设置router-view默认路径的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • vue-cli使用stimulsoft.reports.js的详细教程

    vue-cli使用stimulsoft.reports.js的详细教程

    Stimulsoft Reports.JS是一个使用JavaScript和HTML5生成报表的平台。它拥有所有拥来设计,编辑和查看报表的必需组件。该报表工具根据开发人员数量授权而不是根据应用程序的用户数量。接下来通过本文给大家介绍vue-cli使用stimulsoft.reports.js的方法,一起看看吧
    2021-12-12

最新评论