gpt4 book ai didi

npm - Strapi:根据内容类型中其他字段中的值自动填充字段值

转载 作者:行者123 更新时间:2023-12-03 08:05:57 33 4
gpt4 key购买 nike

Strapi 版本:v4操作系统:macOS数据库:MySQL节点版本:16.15NPM版本:5.8.8

我正在尝试根据其他字段中的值填充字段。示例:我的内容类型包含字段 city = Mumbai 和 Country = India,现在我需要第三个字段,名为 market,其值应为 Mumbai - India(即城市字段的值 +“-”+国家/地区字段的值)。

我对 Strapi 比较陌生,仍在探索该工具,有人可以帮我吗?

最佳答案

在 Strapi 的帮助下实现这一点非常简单 Model Lifecyle Hooks .

第 1 步:
首先,通过Content-Type构建器citycountymarket字段添加到您的集合类型中。

第 2 步:
现在,您需要将该字段设置为只读,以确保没有人可以通过管理 UI 手动填充该字段。您可以通过访问集合中的任何条目,然后单击右侧 Pane 中的配置 View 选项来执行此操作。

enter image description here

第 3 步:
接下来,单击market 字段上的编辑图标。您将看到一个类似于以下屏幕截图的弹出窗口。将字段设置为可编辑false,然后单击完成。完成此操作后,请确保单击页面右上角显示的保存按钮以永久保存您的更改。

enter image description here

第 4 步:
接下来,覆盖模型的 beforeCreatebeforeUpdate 生命周期 Hook ,以在创建/更新条目时自动填充市场值(value)。为此,您必须在以下文件夹中创建一个生命周期.js 文件:./api/[api-name]/content-types/[content-type-name]/

假设您的集合名称是 Student

// src/api/student/content-types/student/lifecycles.js

module.exports = {
beforeCreate(event) {
if (event.params.data.city && event.params.data.country) {
const { city = "", country = "" } = event.params.data;
event.params.data.market = city + " - " + country;
}
},

beforeUpdate(event) {
if (event.params.data.city && event.params.data.country) {
const { city = "", country = "" } = event.params.data;
event.params.data.market = city + " - " + country;
}
},
};

第 5 步:
就是这样!重新启动您的 Strapi 服务器并尝试在您的集合中创建或更新新条目。它应该根据城市国家/地区值自动填充市场值。

关于npm - Strapi:根据内容类型中其他字段中的值自动填充字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72318872/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com