vue 引用子组件,覆盖子组件样式等..

一. 样式

1. vue 引用子组件,覆盖子组件样式

使用deep 属性,找到子组件里的选择器直接修改即可生效。

:deep(.tag) {
    margin: 0px;
    display: inline-block;
}

2. 使用computed 动态改变img 的src不生效

  • url-loader将直接将:src=" '../../assets/images/'+item.url+'.jpg' "解析成字符串,因为是动态加载的,所有无法解析图片地址。

    所以改为ref,同时import img

import editingImg from '@foundation/assets/img/editing.svg';

const toogleImg = ref(editImg);
const openPopover = function (type: string): void {
    popoverState[`popoverVisible-${type}`] = true;
    toogleImg.value = popoverState[`popoverVisible-${type}`] ? editingImg : editImg;
};

3. flex布局限制每行固定个数

对于表单项很多每个form-item 会根据条件展示,每行最对展示两个item的情况,需要使用flex 布局。当有item 项 不展示,后面的可以自动填补空位。

 .form-flex {
        display: flex;
        flex-wrap: wrap; // 可以换行
    }
// 设置子item 的宽度
  :deep(.ks-input__inner),
    .ks-select .ks-input {
        width: 320px;
        height: 36px;
    }
// 设置间距
.ks-form-item {
    margin-right: 16px;
}
// 对于个别需要单独设置样式的input ,在form-item 上加类
   .big-input {
        :deep(.ks-input__inner) {
            width: 656px;
        }
    }

4. 文字超出自定义长度之后缩略展示...

.overflowText {
    display: inline-block;
    width: 184px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

二.语法

1.moment 的使用:

比手写处理时间方便多了。。。

moment.js 搜索栏获取最近一周,一个月,三个月,半年,一年时间

moment.js使用方法总结

在项目中使用,比如获取上上个月,最近三个月,最近一年:

  • 获取上上个月 第一天~最后一天的时间戳(日期维度
    • valueOf()转换为数字时间戳,还可以使用format('YYYY-MM')自定义展示格式
    • subtract(2, 'months') :当前月减2,得到上上个月。
    • startOf()/endOf() 分别设置开始/结束时间怎么结算的
 // 上上个月 第一天~最后一天
            if (checkTime.value[0] === 4) {
                const temp = [
                    moment(new Date()).subtract(2, 'months').startOf('month').valueOf(),
                    moment(new Date()).subtract(2, 'months').endOf('month').valueOf(),
                ];

                date.value = temp;
            }
  • 获取最近三个月的时间戳(月维度

    • 当前月减2,注意结束时间是当月
      // 月维度-近三个月
     if (checkTime.value[0] === 5) {
    const temp = [
     moment(new Date()).subtract(2, 'months').startOf('month').format('YYYY-MM'),
     moment(new Date()).endOf('month').format('YYYY-MM'),
                    ];
                    date.value = temp;
                }
    
  • 获取最近一年

    • 减去的单位改为years 即可
     // 月维度-近一年
     if (checkTime.value[0] === 7) {
     const temp = [moment(new Date()).subtract(1, 'years').startOf('month').format('YYYY-MM'),
    moment(new Date()).endOf('month').format('YYYY-MM'),
                    ];
                    date.value = temp;
            
    

2.VUE使用路由

使用:

  1. 配置route.js , 定义路由名、路径、视图;

     {
                name: 'member',
                path: '/test/member',
                component: (): any => import('./views/member/route.vue'),
                children: [
                    {
                        name: 'memberList',
                        path: '/test/member/:state?',
                        component: (): any => import('./views/member/index.vue'),
                    },
                    {
                        name: 'memberDetail',
                        path: 'detail/:memberId?',
                        component: (): any => import('./views/member/userDetail.vue'),
                    },
                ],
            },
    
  1. 新建一个文件放 <router-view /> ,同时监听路由的变化设置默认子路由页面

    import route from '../../router';
    import { useRoute } from 'vue-router';
    const statisticRoute = useRoute();
    watch(
        () => statisticRoute.name,
        routerName => {
            if (routerName === 'member') {
                route.replace({ name: 'memberList' });
                return;
            }
        },
        { immediate: true }
    );
    
  2. 点击列表按钮跳转到详情

     function handleDetail(mId: string): void {
                route.push({
                    name: 'memberDetail',
                    query: {
                        memberId: mId,                 
                    },
                });
            }
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,053评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,527评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,779评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,685评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,699评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,609评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,989评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,654评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,890评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,634评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,716评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,394评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,976评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,950评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,191评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,849评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,458评论 2 342

推荐阅读更多精彩内容