vue-smart-route 与 vuetify

Posted

技术标签:

【中文标题】vue-smart-route 与 vuetify【英文标题】:vue-smart-route with vuetify 【发布时间】:2020-10-03 13:08:28 【问题描述】:

我正在使用包 vue-smart-route 在我的应用程序中创建搜索功能。对于使用 vuetify 的样式。问题是当我使用 vuetify 组件时它不起作用。

将它与 vuetify 组件一起使用:

<v-text-field v-model="search" v-smart-routes="routes" class="mr-4" :label="$t('search') + '...'" hide-details append-icon="mdi-magnify" />

这行不通。

html

<input class="mr-4" type="text" v-model="search" v-smart-routes="routes">

这可行,但是我想添加 vuetify 样式。

如何让 vuetify 组件工作?

【问题讨论】:

【参考方案1】:

我 99% 确定 vue-smart-route 不能与 Vuetify 的 &lt;v-text-field/&gt; 一起使用,因为它可能需要一个精确的 &lt;input&gt; HTML 元素,而 &lt;v-text-field/&gt; 创建一个更复杂的 DOM 结构。是这样的,&lt;input&gt; 标签嵌套很深:

<div class="v-input v-input--is-label-active v-input--is-dirty theme--light v-text-field v-text-field--is-booted">
    <div class="v-input__control">
        <div class="v-input__slot">
            <div class="v-text-field__slot">
                <label for="input-1752" class="v-label v-label--active theme--light"
                    style="left: 0px; right: auto; position: absolute;">Label</label><input id="input-1752"
                    type="text" />
            </div>
        </div>
        <div class="v-text-field__details">
            <div class="v-messages theme--light">
                <div class="v-messages__wrapper"></div>
            </div>
        </div>
    </div>
</div>

所以在这种情况下,我看到了 2 个选项:如果您想坚持这些样式或分支 vue-smart-route 并使其与此 DOM 结构一起使用,请创建类似于此的自定义输入。我希望这会有所帮助。

【讨论】:

以上是关于vue-smart-route 与 vuetify的主要内容,如果未能解决你的问题,请参考以下文章

Vuetify 数据表分组与分页未按预期工作

router-link 与 vue 和 vuetify 混淆

VueJs - Vuetify - v-navigation-drawer 与智能手机的迷你变体

如何将 Vuetify 2.0 添加到现有项目中?

vuetify:如何设置窗口背景颜色?

Vuetify 表单问题