@evershop/editorjs-product-list

中文文档
1.0.0发布于 2026/06/25MITTypeScriptESM + CJS近 30 天下载 4588

EverShop的产品列表工具——取出,重排并去除编辑器内部的产品列表.js

中文使用文档
文档目录5 节
  1. 如何运作
  2. 使用量
  3. 配置
  4. 保存的数据
  5. 开发

EverShop 的产品列表工具

A 类 编辑.js 块工具,让编辑器构建 命令产品列表:搜索并添加,去除,并拖动重排. 每个 卡片显示产品 缩略图、名称、SKU、价格、股票和状况。 。 。 .

这是一个兄弟 @evershop/editorjs-image 并遵循同样的惯例(Vite library Building,JS注入CSS, @codexteam/icons) (中文(简体) ).

如何运作

工具是自己装的 搜索模式。它保持图QL不可知性:你给它一个 searchProducts(keyword, { page, limit }) 函数并处理搜索框, 解析、页化、多选择和选定的状态UI。 在EverShop那个 函数运行管理员 products(filters: [...]) 查询。 在商店前门 保存的快照随EverShop的 <ProductList/> 组件.

使用量

import ProductListTool from "@evershop/editorjs-product-list";

const editor = new EditorJS({
  tools: {
    productList: {
      class: ProductListTool,
      config: {
        defaultColumns: 4,
        pageSize: 20,
        searchProducts: async (keyword, { page, limit }) => {
          const res = await fetch(`/api/products?q=${keyword}&page=${page}&limit=${limit}`);
          const { items, total } = await res.json();
          return { items, total }; // items: ProductItem[]
        },
      },
    },
  },
});

配置

选项类型说明
searchProducts(keyword: string, opts: { page: number; limit: number }) => Promise<{ items, total }>内建搜索模式的数据源 .
defaultColumnsnumber新块的存储前网格列( 默认) 4) (中文(简体) ).
pageSizenumber搜索模式的页面大小( 默认) 20) (中文(简体) ).
onSelectProducts(current: ProductItem[], onSelect: (products: ProductItem[]) => void) => void可选覆盖 ——自供取取取器而不用内置取取取. 优先进行.
placeholderstring空态文本 .

保存的数据

{
  "type": "productList",
  "data": {
    "columns": 4,
    "products": [
      {
        "productId": 1,
        "uuid": "…",
        "sku": "TSHIRT-RED-M",
        "name": "Cool T-Shirt",
        "url": "/cool-t-shirt",
        "image": { "url": "…", "alt": "…" },
        "price": { "regular": { "value": 29, "text": "$29.00" }, "special": { "value": 19, "text": "$19.00" } },
        "inStock": true,
        "status": 1
      }
    ]
  }
}

sku 是稳定的标识符(匹配 EverShop 的 ProductSelector 编辑 products(filters: [{ key: "sku", operation: in, value: "…" }]) 查询).

开发

npm install
npm run dev    # opens dev/index.html with a mocked host picker
npm run build  # emits dist/product-list.{mjs,umd.js} + index.d.ts

依据 编辑器.js 的图像块。 。 。 .

版本与发布记录

@evershop/editorjs-product-list 共发布 1 个版本,首次发布于 2026/06/25;过去 12 个月发布了 1 个版本。

版本发布日期距今
1.0.0latest2026/06/254 个月前

关于 @evershop/editorjs-product-list 的常见问题

@evershop/editorjs-product-list 是什么?

EverShop的产品列表工具——取出,重排并去除编辑器内部的产品列表.js

如何安装 @evershop/editorjs-product-list?

在项目目录运行 npm install @evershop/editorjs-product-list,或使用 pnpm add / yarn add / bun add。

@evershop/editorjs-product-list 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@evershop/editorjs-product-list 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@evershop/editorjs-product-list 可以商用吗?

@evershop/editorjs-product-list 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@evershop/editorjs-product-list 的下载量有多少?

根据 npm 官方下载统计,@evershop/editorjs-product-list 在 2026/10/14 – 2026/11/12 这 30 天内被下载 4,588 次,日均约 153 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@evershop/editorjs-product-list 还在维护吗?

最新版本 1.0.0 发布于 2026/06/25(4 个月前);至今共发布 1 个版本,其中过去 12 个月发布了 1 个;首次发布于 2026/06/25。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。