# @evershop/editorjs-product-list 中文文档

规范地址：https://npmcn.com/package/%40evershop/editorjs-product-list/

版本：1\.0\.0
npm 元数据更新时间：2026-06-25T04:56:23.215Z
中文译文更新时间：2026-11-14T01:32:22.651Z
软件包许可：MIT

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40evershop/editorjs-product-list
原文对照：https://npmcn.com/package/%40evershop/editorjs-product-list/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：88.6 kB，9 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：1 个
- 首次发布：2026-06-25T04:56:22.538Z
- 最新版本发布：2026-06-25T04:56:22.927Z
- 近 30 天下载量：4588（2026-10-14 至 2026-11-12，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 1 个）

## 中文简介

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

## 安装

```sh
npm install @evershop/editorjs-product-list
```

也可以使用：`pnpm add @evershop/editorjs-product-list`、`yarn add @evershop/editorjs-product-list`、`bun add @evershop/editorjs-product-list`

## README

# EverShop 的产品列表工具

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

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

## 如何运作

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

## 使用量

```ts
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 }>` | 内建搜索模式的数据源 . |
| `defaultColumns` | `number` | 新块的存储前网格列( 默认) `4`) (中文(简体) ). |
| `pageSize` | `number` | 搜索模式的页面大小( 默认) `20`) (中文(简体) ). |
| `onSelectProducts` | `(current: ProductItem[], onSelect: (products: ProductItem[]) => void) => void` | **可选覆盖** ——自供取取取器而不用内置取取取. 优先进行. |
| `placeholder` | `string` | 空态文本 . |

### 保存的数据

```json
{
  "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: "…" }])` 查询).

## 开发

```bash
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 的图像块](https://github.com/editor-js/image)。 。 。 .

## 常见问题

### @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 和提交记录判断。

