vuetify.js 相关问题

Vuetify.js是Vue.js的语义材料组件框架2.将此标记用于特定于vuetify组件和api的问题。 (如果可能,提供CodePen或JsFiddle重现您的问题)

Vuetify 3 组件无法在 chrome 中工作 - 未捕获类型错误:globalStack.at 不是函数

我在使用从头开始创建的 vuetify 3 插件项目运行 Vue JS 项目时遇到此错误。我专门使用 v-dialog,但它在其他组件的 chrome 中出现控制台错误...

回答 2 投票 0

如何为 vuetify 属性(例如“variant”)导入 typescript 类型?

我正在构建一个基于 vuetify 3 中的 v-btn 的 vue 组件。我想要一个变体属性,该属性会传递到我使用的 v-btn 组件。我想正确指定类型。目前...

回答 1 投票 0

如何在 v-select 或 v-combobox 上拥有“全选”选项?

我们如何使用全选选项来选择 v-select 或 v-combobox 中的所有内容?

回答 4 投票 0

捕捉“chip close”事件 vuetify

我在 vuetify 世界中相对较新,在我的第一个 Web 应用程序开发过程中,我在事件处理方面遇到了很多困难。 在本例中,我正在使用

回答 1 投票 0

Vuetify v-btn — 换行文本

使用 Vuetify v-btns,如何换行溢出的文本? 我试过了: 。按钮 { 空白:正常; 显示:内联块; 自动换行:断词; } 这不起作用。文字位于中心...

回答 2 投票 0

Vuetify VDataTable 一个 VDataTableServer,当某个项目展开时其他项目必须折叠

我正在尝试折叠其他行以显示在最后展开的行上获取的数据,但我不知道如何做到这一点。我尝试了 isExpanded 和toggleExpand 道具,但仍然无法正常工作。 在

回答 1 投票 0

Vuetify 数据表:如何应用标头过滤器功能

根据 v-data-table 中自定义过滤器的 Vuetify 文档,可以通过在标题项上提供过滤器属性来自定义特定表列的过滤。 在我的申请中,我想要...

回答 2 投票 0

当尝试使用 v-slot:append-inner 自定义 v-combobox 的下拉图标时,会在 vuetify 中创建两个下拉图标

我想在单击 v-combobox 内的下拉图标时调用不同的函数。因此,当我尝试通过修改 v-slot:append-inner 并添加功能来实现该功能时,有两个下拉菜单

回答 1 投票 0

Vuetify 对话框打开时的运行方法

我有一个 v-data-table,用户可以单击任意行并打开一个对话框。我的 vuetify 对话框里面有一个数据下拉列表。 我想在每次用户单击一行并 Fi 时过滤此数据...

回答 3 投票 0

如何添加对表格进行编号的列?

我将数据表与vuetify一起使用,您可以在下图中看到我想要的最终结果。 只需在左侧添加一列即可。 我使用 vuetify 的 data-table,你可以在...

回答 2 投票 0

无法在vuetify3中制作可扩展的v数据表?

我正在尝试在vue3和vuetify3中制作一个可扩展的v数据表。正常的数据表工作得很好。但是,当我尝试可扩展的 v-data-table 时。它不显示任何内容,但加载...

回答 1 投票 0

Vuetify 导航抽屉存在剪裁和抽屉尺寸问题

我在导航抽屉方面遇到了一些问题,希望有人能提供建议。 https://codepen.io/hobbeschild/pen/MWeXpey 我以为“夹住”应该是抽屉

回答 1 投票 0

vuetify v-data-table-server 不显示来自服务器的数据

我对 vue 和 vuetify 还很陌生。我正在尝试显示从服务器检索的数据。 从表中可以看出,表头是正确的。对服务器的请求完成并返回一个数组...

回答 1 投票 0

为什么 vuetify 前置槽会修改图标颜色?

我正在使用 Vuetify 3 制作一个简单的导航抽屉。每当我使用图标的前置槽时,似乎颜色稍微修改了或者图标的透明度发生了变化: ...

回答 1 投票 0

如何防止vue中v-html样式泄露

我有一个渲染多个子组件的 vue 组件和一个带有 v-html 指令的 div。 div 呈现动态 HTML 源。有时,HTML 源代码中的样式会泄漏到 div 之外...

回答 1 投票 0

更改选择时的 v-select 样式

我正在使用 Vuetify 库,一旦用户做出选择,我试图覆盖 v-select 的属性,即更改边框的颜色、文本的颜色和向下图标的颜色。

回答 2 投票 0

在使用 Vuetify 组件的 Vue3 测试中传递组件 props 的正确方法是什么?

我正在尝试为名为 CompanyBioPanel 的组件编写基本单元测试。这是该组件的简化版本: // 模板 我正在尝试为名为 CompanyBioPanel 的组件编写基本单元测试。这是该组件的简化版本: // template <v-card-text> <v-tabs v-model="companyTabs"> <v-tab value="generalData"> <h2>Details</h2> </v-tab> <v-tab value="companyConfiguration"> <h2>Company Configuration</h2> </v-tab> </v-tabs> <v-divider /> <v-window v-if="companyData.company_id != null" v-model="companyTabs" > <v-window-item value="generalData"> <v-list> <company-data-item v-for="item in generalData" :key="item.label" :label="item.label" :value="item.value" /> </v-list> </v-window-item> <v-window-item value="companyConfiguration"> <v-list> <company-data-item v-for="item in companyConfiguration" :key="item.label" :label="item.label" :value="item.value" /> </v-list> </v-window-item> </v-window> </v-card-text> // script import type { Company } from './types' import { computed, toRefs, ref, type ComputedRef } from 'vue' import CompanyDataItem from './CompanyDataItem.vue' const props = defineProps<{ companyData: { [key: string]: string } }>() const companyTabs = ref(null) const { companyData } = toRefs(props) const companyIdOrNull = computed(() => { return companyData.value?.company_id ?? null }) const generalData: ComputedRef<CompanyDataItemProps[]> = computed(() => { if (companyData.value == null) { return [] } return [ { label: 'Name', value: companyData.value.name, fieldName: 'name', isEditable: true } ] }) 在我的测试中,我想断言,当我将 companyData 对象作为道具传递给我的组件时,它会渲染 company-data-item 组件。 这是我的测试: import { mount } from '@vue/test-utils' import { h } from 'vue' import { VApp } from 'vuetify/components' import CompanyBioPanel from './CompanyBioPanel.vue' it('renders the company bio panel', async () => { const companyData = { company_id: 'abc', name: 'Test Company' } const wrapper = mount(VApp, { slots: { default: h(CompanyBioPanel, { props: { companyData } }) } }) expect(wrapper.exists()).toBe(true) const html = wrapper.html() expect(html).toContain('Test Company') const companyName = wrapper.find('h1') expect(companyName.text()).toBe('Test Company') const companyDataItems = wrapper.findAllComponents({ name: 'company-data-item' }) expect(companyDataItems.length).toBe(1) }) 这是一个简单的测试,断言子组件是根据作为 props 传递的数据生成的。但是,当我尝试运行测试时,出现以下错误: ⎯⎯⎯ Failed Tests 1 ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ FAIL src/components/company-view/company-bio-panel/CompanyBioPanel.test.ts > renders the company bio panel TypeError: Cannot read properties of undefined (reading 'company_id') ❯ src/components/company-view/company-bio-panel/CompanyBioPanel.vue:45:27 43| <v-divider /> 44| <v-window 45| v-if="companyData.company_id != null" | ^ 46| v-model="companyTabs" 47| > 这对我来说没有意义,因为我在测试中通过了道具,所以companyData怎么可能是undefined? 我还尝试将传递道具的方式修改为如下: const wrapper = mount(VApp, { slots: { default: h(CompanyBioPanel, { companyData }) } }) 但这会导致一个更奇怪的错误: ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Errors ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Vitest caught 1 unhandled error during the test run. This might cause false positive tests. Resolve unhandled errors to make sure your tests are not affected. ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ Unhandled Rejection ⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯ TypeError: Cannot create property '_destroyed' on number '-1' ❯ clearImmediate node:timers:325:24 ❯ GlobalWindow.cancelAnimationFrame ../../node_modules/happy-dom/src/window/Window.ts:921:10 ❯ node_modules/vuetify/lib/components/VSlideGroup/VSlideGroup.mjs:104:9 ❯ callWithErrorHandling ../../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:156:18 ❯ callWithAsyncErrorHandling ../../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:164:17 ❯ job ../../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:1831:9 ❯ flushPreFlushCbs ../../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:308:7 ❯ updateComponentPreRender ../../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5876:5 ❯ ReactiveEffect.componentUpdateFn [as fn] ../../node_modules/@vue/runtime-core/dist/runtime-core.cjs.js:5794:11 ❯ ReactiveEffect.run ../../node_modules/@vue/reactivity/dist/reactivity.cjs.js:182:19 您可以创建一个 Vuetify 实例: const vuetify = createVuetify() 并使用 mount 和 global.plugins 来正确集成 Vuetify; const wrapper = mount(VApp, { global: { plugins: [vuetify], }, slots: { default: () => h(CompanyBioPanel, { companyData }) // Correctly passing props } }) 然后,如果您等待下一次 DOM 更新,这将确保在做出断言之前已处理所有异步更新。 : await wrapper.vm.$nextTick(); 这应该正确地传递道具

回答 1 投票 0

带验证功能的可编辑 vuetify 步进器

有没有办法制作一个可编辑的 Vuetify 步进器,我可以在其中进行验证,以防止在验证不正确时单击另一个步骤的事件? 我尝试修改默认...

回答 1 投票 0

如何在单击时关闭带有前置项目的 v-select 菜单

在我的 v-select 菜单中,我添加了一个包含 2 个 v-list-items 的模板: 在我的 v-select 菜单中,我添加了一个 template 和 2 v-list-items : <v-select :items=clients dense item-text="full_name" item-value="id" label="Search by client" outlined v-model="clientSearch" > <template v-slot:prepend-item> <v-list-item ripple @click="selectNone()"> <v-list-item-content> <v-list-item-title>None</v-list-item-title> </v-list-item-content> </v-list-item> <v-list-item ripple @click="selectAll"> <v-list-item-content> <v-list-item-title>All</v-list-item-title> </v-list-item-content> </v-list-item> </template> </v-select> v-select 值中的项目会与默认设置的单击关闭属性发生反应,但其他 2 个 v-list-item 不会发生反应。 如何将属性 close-on-click 添加到 template 内的项目中,以便无论选择哪个项目,v 菜单都会关闭? <v-select . . :menu-props="{ closeOnClick: true, closeOnContentClick: true, }" > </vselect> “closeOnContentClick: true”按照您的意愿创建列表:) 到目前为止,我还没有看到 vuetify 在他们的文档中包含此内容。我上次所做的只是在当前数据中推送一个新项目,并为指标分配一个 id。也许不是好方法,但目前可以解决您的问题。喜欢这个 this.clients.push( {id:0, full_name:'All'}, {id: -1, full_name:'None'} ) 添加 :菜单道具=“{ 点击关闭:true, 关闭内容点击:true, }” 如上所述对我有用

回答 3 投票 0

使用 Vuetify 选择多个日期

常量日期 = ref(新日期(2024, 1, 19)) 我正在使用 Vue....

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.