javascript - Vue3 使用 Vanilla JS Datepicker

标签 javascript vuejs3 vanillajs-datepicker

我正在尝试使用Vanilla JS Datepicker在 Vue3 项目中,但不确定如何正确设置它。根据文档(我意识到与 Vue 没有具体关系),我已经安装了该包:

npm install --save-dev vanillajs-datepicker 

在模板中:

<input type="text" name="foo" />

脚本:

import { Datepicker } from "vanillajs-datepicker";


mounted() {
    const elem = document.getElementById("foo");
    const datepicker = new Datepicker(elem, {
      // ...options
    });
},

我收到错误:

error 'datepicker' is assigned a value but never used

更新

<input type="text" ref="foo" />

new Datepicker(this.$refs.foo, {
  // ...options
});

一切正常。

最佳答案

更新

这是我实现的一个可行的解决方案。
我发现它已经有点乱了,不确定我是否会使用它,但可以说它可以工作。

<script setup>
import { onMounted } from "vue";
import "../../node_modules/vanillajs-datepicker/dist/css/datepicker.min.css";
import Datepicker from "vanillajs-datepicker/Datepicker";

onMounted(() => {
  const elem = document.querySelector('input[name="date"]');
  const datepicker = new Datepicker(elem);
  console.log("picker", datepicker);
});
</script>

<template>
  <input type="text" name="date" />
</template>

该错误与 ESlint 有关,这意味着您的变量 datepicker 未在代码中使用(此网站上有很多类似的问题,如果您需要更多详细信息,您可以查找) .

例如,如果您使用 console.log(datepicker),它就会消失。

您还可以禁用该规则或将其标记为警告

对于elem,您应该使用模板引用:https://vuejs.org/guide/essentials/template-refs.html#template-refs
它会产生与文档选择器相同的结果,但由于您使用的是 SPA,因此这是一种更好的做法。

关于javascript - Vue3 使用 Vanilla JS Datepicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74891746/

相关文章:

vue.js - 如何根据该组件的数据来调整组件的安装?

javascript - VueJS Prop - 如何避免 "class"属性继承?

vue.js - 为什么 react 变量在未分配给 v-model 时会发生变化

javascript - 我如何能够为每秒更改文本的 javascript 添加计时?

javascript - 在 Angular JS 应用程序上注入(inject) ThreeJs 模型

javascript - 在 QML 中解析 JSON

javascript - 围绕点的位置