【发布时间】:2023-03-10 04:07:01
【问题描述】:
我们正在尝试根据产品标题自动生成产品标签。即使用户选择不编辑,这些 slug 也必须是可编辑的,并且也需要发布到数据库中。
例如,标题 "Red Shirt" 生成 slug "redshirt"。然后,用户可以将 slug 保持原样或将其编辑为 "redcottonshirt"。
这个:placeholder="slug" 工作正常。但是,:value="slug" 返回undefined。
有没有办法让值等于 slug,然后将该值绑定到 v-model 指令?
这是我们的代码:
<div>Product Name:</div>
<v-text-field
label="Example: Tri-Blend Tank Top"
v-model.lazy="product.title"
bottom
required
solo
class="mb-2"
>
</v-text-field>
<div v-if="product.title">
<div>Product Slug (required):</div>
<v-text-field
class="mb-2"
:value="slug"
:placeholder="slug"
v-model.lazy="product.slug"
solo
required
>
</v-text-field>
</div>
和计算属性:
slug () {
return this.product.title.replace(/\s+/g, '').toLowerCase();
}
谢谢!
【问题讨论】:
-
您不应该在组件上同时拥有
v-model和:value。此外,我认为计算属性上的 v-model 不起作用。默认情况下,计算属性是 getter。
标签: vue.js vuetify.js