Skip to content

在 umi 项目里可以方便的集成 cmd + k ,实现菜单等搜索

Notifications You must be signed in to change notification settings

huangliang992/plugin-umi-cmdk

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Umi-plugin-cmdk

一个通过快捷键打开搜索面板的插件, 搜索面板默认可以搜索菜单,也可以定制其他的链接。

Pasted image 20230307175305

Install

Npm

npm install umi-plugin-cmdk

Yarn

yarn add umi-plugin-cmdk

Pnpm

pnpm add umi-plugin-cmdk

Usage

Configure in .umirc.ts,

export default {
  plugins: ["umi-plugin-cmdk"],
};

Options

可以通过配置文件 .umirc.ts 中的 cmdk 属性开启插件。

import { defineConfig } from 'umi';

export default defineConfig({
  cmdk: {
    keyFilter: 'meta.k',
    searchPlaceholder: '搜索菜单',
    empty: '找不到搜索结果',
    suggestionKeys: [],
    groups: []
  }
});

keyFilter

  • Type: KeyFilter
  • Default: meta.k

定义打开弹框的快捷键, 具体用法可见 ahooks 的 useKeyPress

searchPlaceholder

  • Type: string
  • Default: 寻找你想去的地方...

弹框搜索框的 Placeholder

empty

  • Type: string
  • Default: 迷路了! ! !

搜索结果为空的时候展示效果

suggestionKeys

  • Type: string[]
  • Default: 无

用于配置哪些菜单需要置顶,置顶之后会放到 suggestion 组内,同时在 menu 组下面就会隐藏。

Pasted image 20230307180853

groups

  • Type: Group
  • Default: 无

出了菜单以外,还想配置更多的跳转链接,可以用这个属性进行扩展更多的分组。 Pasted image 20230307181335

类型如下:

interface Item {
  key: string;
  title: string;
  action?: () => void;
}

interface Group {
  groupName: string;
  items: Item[];
}

TODO

  • 更多的主题切换
  • 增加一个静态站点演示,或者整一个每个属性配置的 gif

LICENSE

MIT

About

在 umi 项目里可以方便的集成 cmd + k ,实现菜单等搜索

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 77.5%
  • Less 18.3%
  • Smarty 3.2%
  • Other 1.0%