将属性默认值注入第 3 方 Vue 组件

2024-07-03

我在我的项目中使用日期选择器组件。基本用法是这样的:

date-picker(language="fr" v-model="date")

每次我们需要使用日期选择器时,都会重复有几个属性:language例如。

所以我希望能够在需要日期选择器时简单地做到这一点。

date-picker(v-model="date")

这将默认为fr为了language第三方库的财产。

这是我尝试过的:

  • 扩展 Datepicket 组件的自定义组件:不太好,因为我需要定义一个包含原始日期选择器组件的模板。这意味着多余的包装组件
  • 一个插件?我只能将属性注入到全局 Vue 实例中。 (对 Vue 还很陌生)
  • Mixin 不适用,因为我需要更改第 3 方组件

不确定您如何扩展该组件。但这应该够优雅了吧?

for e.g.

Vue.component("extended-datepicker", {
  extends: vuejsDatepicker,
  props: {
    format: {
      default: "yyyy MMM(MM) dd"
    },
    language: {
        default: fr
    }
  }
});

demo: https://jsfiddle.net/jacobgoh101/5917nqv8/2/ https://jsfiddle.net/jacobgoh101/5917nqv8/2/


Update针对“需要单文件组件提供模板标签”的问题

Vue 组件本质上是一个具有某些属性的 JavaScript 对象。

你并不总是需要使用.vue单个文件组件。在这种情况下,您只需创建一个.js导出对象的文件。

例如这ExtendedDatepicker.js将是一个有效的 Vue 组件

import Datepicker from "vuejs-datepicker";

export default {
  extends: Datepicker,
  props: {
    format: {
      default: "yyyy MMM(MM) dd"
    }
  }
};

demo: https://codesandbox.io/s/9kn29053r https://codesandbox.io/s/9kn29053r

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将属性默认值注入第 3 方 Vue 组件 的相关文章

随机推荐

  • Laravel 5 为特定链接创建路线

    我有一个链接到类似地址 http localhost pages vehicles show 61 http localhost pages vehicles show 61 是否可以为那种链接制定一条路线 我厌倦了下面的路线 但它不起作用
  • 解决 Python 中冲突的包名称

    假设我们有来自同一供应商的两个不同的 Python 包 并且名称相同 foo 一个安装有pip并可以在 usr lib python site packages foo目录 第二个是系统范围的依赖项 您可以使用例如安装apt getPyth
  • 我可以通过外部计费绕过 Apple 的应用内购买机制吗?

    这不是一个编程问题 只是对 iOS 中的应用内购买功能进行澄清 我计划开发一款包含优质内容的应用程序 仅当用户使用凭据进行身份验证时才能使用我的应用程序 我是否可以仅根据身份验证提供优质内容 付费内容 我需要用户通过另一个网络应用程序进行付
  • Phonegap 3.0 InAppBrowser - 不提供用户关闭的方式

    我的应用程序中的 inAppBrowser 工作得很好 但是 我升级了一些东西 现在它打开 URL 而没有任何方式关闭它 你必须杀死该应用程序 我尝试过很多变体 window open http cnn com blank location
  • 使用 CoreAnimation 或 OpenGL 弯曲/扭曲视图以实现轮播效果

    现在我正在用一系列视图填充 UIScrollView 需要扭曲视图以使 UIScrollView 看起来像旋转木马 换句话说 当用户滚动时 它需要像一个圆圈 我以前从未做过类似的事情 但我假设 CoreAnimation 是不可能的 并且需
  • 显示具有共享元素动画的片段

    在我的应用程序中 我有这样的代码 final FragmentTransaction transaction getSupportFragmentManager beginTransaction transaction replace R
  • QTableView:按标题索引-1排序

    我正在使用 PyQt4 并且有一个QTableView有 2 列数据 索引有一个额外的列 它来自headerData源模型的函数 为了在单击标题按钮时进行排序 我用代理类包装了我的模型 这工作正常 但我还想通过单击左上角按钮按第一列排序 c
  • Groovy/Grails 通过 HTTP 发布 XML(使用 REST 插件)

    我正在尝试使用基本身份验证将 XML 字符串 HTTP Post 到 WebMethods 服务器 我试图使用位于 HTTP Builder 之上的 REST 插件 我尝试了一些方法 结果都是 0 长度响应 使用 Firefox 海报 我使
  • 如何在不使用 Play 商店的情况下在移动设备上部署 Flutter 应用程序进行测试

    我是颤振开发的新手 我创建了一个使用谷歌地图和设备位置跟踪的示例应用程序 flutter 2 2 和 VS Code 我想通过部署到我的手机上来进行现场测试 我可以知道在不将应用程序发布到 Play 商店的情况下实现此目标的步骤吗 为您的应
  • 使用本地时区将 unix 时间戳转换为 NSdate

    我得到一些start times and end times形式为NSDecimalNumber从 API 请求返回 我已经成功地能够转换这些NSDecimalNumbers into NSDates 但代码没有考虑时区 我需要它使用设备上
  • 为什么 Boolean.prototype 又是一个 Boolean 对象? (字符串和数字也一样,但日期或正则表达式不一样?)

    In ES5 https www ecma international org ecma 262 5 1 index html sec 15 6 4 Boolean prototype是一个布尔对象 布尔原型对象本身就是一个值为 false
  • 执行 IIFE 后变量值错误(带有函数参数)[重复]

    这个问题在这里已经有答案了 在这个例子中 我通过foo bar到 IIFE 它返回正在执行的第一个参数 我正在传递一个被执行的函数 返回this 指着窗口 因此 返回值存储在a应该是window 那么 为什么它要返回我的论点本身呢 var
  • ansible 解析来自 stdout 的文本字符串

    我的问题是 ansible 和解析标准输出 我需要从 ansible play 中捕获标准输出 并解析此输出以获取标准输出中的特定子字符串 然后保存到 var 中 我的具体用例如下 shell vault sh keystore EAP H
  • 乘以 2 的效率

    我应该以几何方式分配内存并将初始大小设置为 1000 当它被填满时 它将扩展到 2000 4000 等 我的问题是 如果我将初始大小设置为 2 倍 即 1024 在效率或其他方面会有什么不同吗 请不要谈论向量和替代分配方法 这只是理论上的
  • SwiftUI:NavigationLink 在 WatchOS 8.1RC 的 Tabview 中立即弹出

    我发现 watchOS 8 1RC 中存在从 TabView 触发的 NavigationLink 的回归 马上就被驳回了 它在 watchOS 8 0 或模拟器 watchOS 8 0 中运行 你知道解决方法吗 谢谢 示例代码 impor
  • 如何修复:无法在字符串上创建属性“标题”

    我正在尝试使用 jspdf 从 json 数据创建 pdf 但这导致了我无法理解的错误 请帮我解决这个问题 Data fileDataSpecific Date 01 Jan 2019 ServerName prlhpcms01 Serve
  • Android Java JNI和C Char数组无法识别该值

    我试图将 char 数组从 java 传递到 c 我已经用谷歌搜索了实现它的方法 但是当我尝试访问数组的值时 该值不正确 事实上 我试图给数组一个字符 就像buffer i z 在android中结果是正确的 顺便说一句 我想要的值是rs2
  • 使用 AUCTeX 在 Emacs 中使用 \cite 的建议

    我想知道当我在 Emacs AUCTeX 中进行 cite 时如何获得建议 当我执行 C c 时 迷你缓冲区会告诉我 本文档中没有有效的参考书目 并且没有可用的默认参考书目 那么我该如何设置这个默认值呢 我有一个单独的文件 其中包含由主文档
  • C : 在空数组中插入/获取元素

    我必须创建一个可以包含通用数据结构的通用数组 如何将通用结构放入 void 数组的空槽中 这是我的代码 struct CircularBuffer int E int S int length total number of item al
  • 将属性默认值注入第 3 方 Vue 组件

    我在我的项目中使用日期选择器组件 基本用法是这样的 date picker language fr v model date 每次我们需要使用日期选择器时 都会重复有几个属性 language例如 所以我希望能够在需要日期选择器时简单地做到