javascript - Vue警告:已分配计算属性“projectName”但没有设置器
问题描述
我正在尝试使用 Vuex 用数据填写表格,然后以相同的表格对其进行编辑,但目前无法正常工作。
这是代码:
<template>
<v-dialog v-model="dialogEditProject" max-width="1200px" height="200px">
<v-card>
<v-card-title class="head-modal">
<v-list-item-avatar class="logo-modal">
<v-img src="@/assets/logo.svg"></v-img>
</v-list-item-avatar>
<span class="title-modal">EDIT PROJECT</span>
</v-card-title>
<v-form ref="form" v-model="valid" onSubmit="return false;" lazy-validation>
<v-row no-gutters>
<v-col class="col1" cols="4">
<span class="login-txt">Name Project</span>
<v-row>
<v-text-field
v-model="projectName"
@change="updateMessage"
label
:rules="nameProjectRules"
solo
name
required
shaped
/>
</v-row>
<span class="name-project">{{ projectName }}</span><br>
<span class="login-txt">Author</span>
<v-row>
<v-text-field
v-model="authorProject"
label
:rules="authorProjectRules"
solo
name
required
shaped
/>
</v-row>
<v-card-actions class="btn-new-project-modal">
<v-btn id="btn-cancel-modal" class="btn-secondary" text @click="close">Cancel</v-btn>
<v-btn
id="btn-create-modal"
class="btn-primary"
:disabled="!valid"
type="submit"
@click="updateProject"
>Update</v-btn
>
</v-card-actions>
</v-col>
</v-form>
</v-card>
</v-dialog>
</template>
和JS:
computed: {
...mapState('projects', ['projectName', 'authorProject', 'projectUuid']),
},
现在在文本字段中出现 projectName,但是当我尝试执行 PUT 时,不修改该字段。有什么办法解决这个问题吗?
非常感谢
解决方案
那是因为你有一个 getter projectName
(即来自mapState
方法),你没有一个 setter,即使你在v-model
绑定中使用了它。v-model
绑定是双向的,因此它既可以读取/获取,也可以写入/设置。
您将需要一个相应的替代,以便对 VueX 存储中的mapMutations
更改提交突变或分派操作(两者都被视为设置器):projectName
methods: {
...mapMutations('projects', ['projectName']),
}
...或者:
methods: {
...mapActions('projects', ['projectName']),
}
推荐阅读
- python - Python程序被Windows Defender阻止
- git - Visual Studio Team Explorer GitHub - 当你有两个遥控器时,你如何指定一个用于传出提交?
- junit - 如何在不创建新测试的情况下导入 Jira X-Ray 数据
- r - 如何在 R 的 for 循环中保存更改名称的数据帧?
- django - Django H14 Heroku 错误,我该如何解决?
- javascript - 如何最好地在烧瓶应用程序中动态填充下拉列表?
- json - 修改 json 对象数组
- powershell - 使用employeeid更新员工经理
- python - 在烧瓶中创建可下载文件的问题
- swiftui - 防止 SwiftUI App 进入睡眠操作 WatchOS