vue.js - Vue.js 动态输入值绑定
问题描述
我们正在尝试从产品标题自动生成产品标签。即使用户选择不编辑,这些 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();
}
谢谢!
解决方案
将您的 slug 转换为数据属性:
data() {
return {
slug: product.title.replace(/\s+/g, '').toLowerCase();
};
}
这样做您不必更改标记中的任何内容。
推荐阅读
- typescript - 打字稿中具有工厂设计的通用类
- ios - 如何在iOS上完成音效处理?
- javascript - 在Javascript中动态创建的元素上添加点击事件
- laravel - Laravel 存储私有镜像访问
- python - 如何在不使用 selenium 的情况下在 python 中填写 Web 表单
- node.js - 使用 Google Firebase 函数连接到 Postgres (AWS RDS)
- react-native - 在本机反应中获取和设置按钮的TextInput onPress的值
- javascript - window.crypto 返回 352 位密钥而不是 256?
- python - 这个循环有问题
- amazon-web-services - 当 AWS lambda 请求有效负载大于 6MB 时,有没有办法自定义 http 响应?