当前位置: 首页 > article >正文

vue3-Import declaration conflicts with local declaration of dayjs

在这里插入图片描述

同步发布于我的网站 🚀

  • 概述
  • 错误描述
    • 原代码
    • 报错信息
  • 原因分析
  • 解决方案
    • 修改导入语句
    • 使用泛型
  • 代码解释
  • 总结

概述

在使用 Vue3 和 dayjs 时,可能会遇到一个常见的错误:“Import declaration conflicts with local declaration of ‘dayjs’”。本文将详细介绍这个错误的原因以及如何解决它。

错误描述

原代码

import dayjs from 'dayjs';
import dayjs from 'dayjs'; // 重复导入

import type { Dayjs } from 'dayjs';

...

const multipleSelectModel = defineModel('multiple-selector-model', {
  default: [] as Dayjs[],
});

报错信息

Import declaration conflicts with local declaration of 'dayjs'

原因分析

这个错误的原因在于同一个变量名 dayjs 被多次导入或声明。在 JavaScript 中,每个变量名在一个作用域内只能声明一次。重复导入会导致编译器报错。

解决方案

修改导入语句

确保 dayjs 只被导入一次,并且避免重复声明。以下是修改后的代码:

import dayjs from 'dayjs';
import type { Dayjs } from 'dayjs';

...

const multipleSelectModel = defineModel<Dayjs[]>('multiple-selector-model', {
  default: [],
});

使用泛型

defineModel 中使用泛型来指定默认值的类型,这样可以避免类型断言的冗余:

const multipleSelectModel = defineModel<Dayjs[]>('multiple-selector-model', {
  default: [],
});

代码解释

  1. 导入 dayjs

    import dayjs from 'dayjs';
    

    这行代码从 dayjs 库中导入 dayjs 函数。

  2. 导入类型 Dayjs

    import type { Dayjs } from 'dayjs';
    

    这行代码从 dayjs 库中导入 Dayjs 类型,用于类型检查。

  3. 定义模型

    const multipleSelectModel = defineModel<Dayjs[]>('multiple-selector-model', {
      default: [],
    });
    

    这行代码定义了一个名为 multiple-selector-model 的模型,并指定了其默认值为一个空的 Dayjs 数组。

总结

通过确保 dayjs 只被导入一次并使用泛型来指定类型,可以有效避免“Import declaration conflicts with local declaration of ‘dayjs’”错误。希望本文对您有所帮助。


http://www.kler.cn/a/421437.html

相关文章:

  • Qt 5 中的 QTextStream 使用指南
  • 【计算机网络】实验6:IPV4地址的构造超网及IP数据报
  • 乐橙云小程序插件接入HbuilderX
  • 为什么编程语言会设计不可变的对象?字符串不可变?NSString *s = @“hello“变量s是不可变的吗?Rust内部可变性的意义?
  • Vulnhub靶场 Matrix-Breakout: 2 Morpheus 练习
  • 【Linux内核】ashmem pin/unpin
  • SQL面试题——腾讯SQL面试题 连续5天涨幅超过5%的股票
  • mysql的索引在什么情况下会失效?
  • Idea 2024.3 突然出现点击run 运行没有反应,且没有任何提示。
  • 【数据事务】.NET开源 ORM 框架 SqlSugar 系列
  • openEuler 22.03 使用cephadm安装部署ceph集群
  • Go快速入门
  • JAVA设计模式,动态代理模式
  • 【Java基础面试题011】什么是Java中的自动装箱和拆箱?
  • 基于Java Springboot高校社团微信小程序
  • Nginx负载均衡综合实验
  • 【开源】A059-基于SpringBoot的社区养老服务系统的设计与实现
  • flutter Owner和Binding学习
  • 计费结算系统的架构设计思路
  • SpringBoot+MyBatis整合ClickHouse实践
  • Robot Screw Theory (Product of Exponentials)机器人螺旋理论(指数积)
  • 鸿蒙Next学习-webview原生与JS交互通信
  • 你听说过MIPS吗?它和ARM有何区别?
  • 2023年第十四届蓝桥杯Scratch国赛真题—推箱子
  • 如何解决 java.rmi.AlreadyBoundException: 已绑定异常问题?亲测有效的解决方法!
  • [C++设计模式] 为什么需要设计模式?