mirror of https://github.com/halo-dev/halo
![]() #### What type of PR is this? /kind feature /area ui /milestone 2.19.x #### What this PR does / why we need it: 此 PR 使用自定义的 Select 组件替换了原有的 Formkit Select 组件,原 Select 组件类型变为 `nativeSelect`。 新的 Select 组件具有如下功能: - 增加多选、单选两种模式。 - 支持对内容进行搜索、过滤。 - 可使用接口远程加载,并可自定义数据获取。 - 支持扩展远程加载方式。 - 可创建新选项。 - 支持清空所有已选择项。 - 多选状态下可控制最大选择数量。 - 多选状态下可进行排序。 重构后的 Select 组件将自动兼容旧版组件。 使用方式如下: ```vue <FormKit type="select" label="What country makes the best food?" name="countries" placeholder="Select a country" allow-create clearable sortable multiple searchable :max-count="3" :options="[ { label: 'France', value: 'fr'}, { label: 'Germany', value: 'de'}, { label: 'Spain', value: 'es'}, { label: 'Italy', value: 'ie' }, { label: 'Greece', value: 'gr'}, ]" help="Don’t worry, you can’t get this one wrong." /> ``` #### How to test it? 1. 需要测试已使用的 Select 组件功能是否发生了变化。 测试在多选、单选状态下,Select 组件的功能是否可以正常使用。 测试在远程加载时,数据获取是否正常,是否可正常分页,加载状态是否显示。 #### Which issue(s) this PR fixes: see https://github.com/halo-dev/halo/issues/4931#issuecomment-2060637101 see #6369 #### Does this PR introduce a user-facing change? ```release-note 重构 FormKit 选择器组件以支持更多功能 ``` |
||
---|---|---|
.. | ||
.changeset | ||
.husky | ||
.vscode | ||
console-src | ||
cypress | ||
docs | ||
packages | ||
public | ||
src | ||
uc-src | ||
.editorconfig | ||
.env.development | ||
.env.production | ||
.eslintrc.cjs | ||
.gitignore | ||
.gitpod.yml | ||
.npmignore | ||
.npmrc | ||
.prettierignore | ||
Makefile | ||
OWNERS | ||
README.md | ||
build.gradle | ||
cypress.json | ||
env.d.ts | ||
index.html | ||
package.json | ||
pnpm-lock.yaml | ||
pnpm-workspace.yaml | ||
postcss.config.cjs | ||
prettier.config.cjs | ||
tailwind.config.cjs | ||
tsconfig.app.json | ||
tsconfig.json | ||
tsconfig.node.json | ||
tsconfig.vitest.json | ||
vite.config.ts | ||
vite.uc.config.ts | ||
vitest.config.ts |