大佬代码中的js,来看看你会几种

持续更新哟~~

此文档只适合闲着的时候阅读,或者略读一遍,收藏起来用到再来细读。这几天刚好没事,打算研究一下我们公司大佬的代码,看看大佬的过人之处。

涉及Vue3、element-plus、vant4

1.根据接口返回的Status值来匹配statusMap中值对应的文字

 <div>{{ statusMap.get(item.status) }}</div>
const statusMap = new Map([
    [-2, "驳回(客户存在异议)"],
    [-1, "作废"],
    [0, "待客户上传增值税发票"],
    [1, "待客户确认"],
    [2, "待打款"],
    [3, "打款完成"],
])

和以下渲染效果是一样的

<div v-for="(i,index) in dictStore.settlementStatusList" :key="index">
	<span v-show="item.status === i.code">{{i.name}}</span>
</div>
        

2.将一个字符串转为数组

项目中经常用到传递一个数组给后端,获取到的数据是一个id字符串

let id = '0235265-djb5445-c244-cd4'

console.log([id]);   //[id] = ['0235265-djb5445-c244-cd4']

以上是大佬写的,然而我写的是这样的。

let id = '0235265-djb5445-c244-cd4'

let ids = []
ids.push(id)

console.log(ids)  //ids = ['0235265-djb5445-c244-cd4']

3. 可以直接在页面使用props接收的对象

const props = defineProps({
    item: {
        type: Object,
        required: true,
    }
})
<!-- 粘贴一段代码,自行体会 -->
<!-- 可以直接在页面上用 item.什么什么 太棒了,我之前都是定义一个值,在赋值给它 -->
<div>
     <div>订单编号:{{ item.settlementCode }}</div>
     <div v-for="(i,index) in dictStore.settlementStatusList" :key="index">
           <span v-if="item.status == i.code">{{i.name}}</span>
      </div>
</div>

4.判断的时候一个字段可以有多个值

if (  data.isReview && ([1, 2, 4].includes(data.isReview))  ) {
	//翻译:有data.isReview值  并且 这个值等于1 或者等于2 或者等于4 
}

想想就很高级,自己都是

  data.isReview === 1 || data.isReview === 2 || data.isReview === 3

5.在方法上传多个值


<!-- 用对象包裹的形式,在方法里面传值。 -->

<div title="点击查看" @click="toRouter({name: 'reportInfo'},{reportStatus:'4'})">
<div title="点击查看" @click="toRouter({name: 'reportInfo'},{reportStatus:'15'})">
<div title="点击查看" @click="toRouter({name: 'reportInfo'})">
<div title="点击查看" @click="toRouter({name: 'reportInfo'})"> 

小插曲:网页设计,div中title的作用
title是标签的一个属性,用于对标签进行注释,当鼠标经过时会显示出来该属性的值
如下图:
在这里插入图片描述

6.获取当前日期

function getCurrentYearMonth() {
    const now = new Date();
    const year = now.getFullYear();
    const month = now.getMonth() + 1; // 月份需要加1因为getMonth()返回0-11
    const day = now.getDate() ;
    return `${year}/${month.toString().padStart(2, '0')}/${day}`; // 格式化为YYYY/MM格式,月份补零
}
console.log(getCurrentYearMonth()); // 输出例如 "2024/05/24"

在这里插入图片描述

  • 4
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海鸥两三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值