Skip to content

Commit

Permalink
feat(search): search支持自定义布局
Browse files Browse the repository at this point in the history
search支持自定义布局,search.layout、search.collapse转移到 search.container之下。如果想使用原来的search组件,请配置search.is="fs-search-v1"
  • Loading branch information
greper committed Mar 31, 2023
1 parent d6ea397 commit 94c10cf
Show file tree
Hide file tree
Showing 18 changed files with 508 additions and 315 deletions.
20 changes: 19 additions & 1 deletion docs/zh/api/crud-options/search.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,23 @@
# search【查询框】
更多参数见:[FsSearch](/api/components/crud/search/index.md)

## container
* 说明:布局容器,支持search自定义布局
* 类型:Object
* 默认: {is:'fs-search-layout-default'}
* 参考: [fs-search-layout-default](https://github.com/fast-crud/fast-crud/blob/main/packages/fast-crud/src/components/search/layout-default.vue)
```js
const crudOptions = {
search:{
container:{
is:'your-custom-layout-component-name',
collpase:true //是否展开,你布局组件中定义的props
},
}
}

```

## show
* 说明:显示或隐藏查询框
* 类型:Boolean
Expand Down Expand Up @@ -29,7 +46,7 @@


## buttonsPosition
* 说明:按钮位置
* 说明:按钮位置 (已废弃)
* 类型:string,可选【default,bottom】
* 默认:`default`

Expand Down Expand Up @@ -64,5 +81,6 @@
* 支持:el-form,a-form的参数



## 更多参数
* 说明:更多参数见:[FsSearch](/api/components/crud/search/index.md)组件文档
24 changes: 23 additions & 1 deletion docs/zh/guide/advance/layout.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,26 @@ const crudOptions = {
is: shallowRef(CustomLayout)
}
}
```
```



# 查询框自定义布局
配置 `search.container.is=xxxxxxx` 可以自定义查询框组件布局容器(使用方法同上)

* 默认布局:`fs-search-layout-default`
* 参考:[fs-search-layout-default源码](https://github.com/fast-crud/fast-crud/blob/main/packages/fast-crud/src/components/search/layout-default.vue)

```js
const crudOptions = {
search:{
container:{
is:'your-custom-layout-component-name',
collpase:true, //是否展开,布局组件中定义的props
'onUpdate:collpase':(value)=>{ //vModel事件
crudBinding.search.container.collpase=value
}
},
}
}
```
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,14 @@
"docgen:crud": "vue-docgen -c docgen/crud.config.js",
"docgen:extends": "vue-docgen -c docgen/extends.config.js",
"docgen:all": "npm run docgen:crud && npm run docgen:extends",
"prepublishOnly": "lerna run build --scope */ui-* --scope @fast-crud/fast-crud --scope @fast-crud/fast-extends",
"prepublishOnly": "lerna run build --scope */ui-* --scope @fast-crud/fast-crud --scope @fast-crud/fast-extends && npm run before-build",
"publish": "npm run prepublishOnly && lerna publish --conventional-commits && npm run copylogs",
"publish:canary": "lerna publish --canary --conventional-commits && npm run copylogs",
"afterpublish": "npm run copylogs",
"copylogs": "copyfiles \"packages/**/CHANGELOG.md\" ./docs/zh/guide/other/changelogs/ -e **/node_modules/** && copyfiles \"CHANGELOG.md\" ./docs/zh/guide/other/changelogs/",
"init": "git submodule update --init --recursive",
"rechangelog": "conventional-changelog -p angular -i CHANGELOG.md -s -r 0",
"before-build": " chcp 65001 && cd ./packages/ui/ui-interface && date /t >build.md && git add ./build.md && git commit -m \"build: prepare to build\"",
"changelog": "conventional-changelog -p angular -i CHANGELOG.md -s",
"no-push": "lerna publish --no-push --conventional-commits && lerna publish && npm run copylogs",
"checkout:main": "git checkout main && cd ./packages/fast-admin/fs-admin-element && git checkout main && cd ../fs-admin-antdv && git checkout main && cd ../fs-admin-naive-ui && git checkout main && cd ../../ ",
Expand Down
4 changes: 3 additions & 1 deletion packages/fast-crud/src/components/container/fs-page.vue
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ export default defineComponent({
const styles = window.getComputedStyle(pageRef.value.parentNode);
const positionValue = styles.getPropertyValue("position");
if (positionValue !== "relative") {
utils.logger.warn("fs-page父节点的position建议为relative");
utils.logger.warn(
"fs-page父节点的position建议为relative,因为fs-page为相对定位(position:absolute),如果样式没有异常,你可以忽略此警告"
);
}
});
return {
Expand Down
3 changes: 2 additions & 1 deletion packages/fast-crud/src/components/extends/fs-dict-select.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ export default defineComponent({
// options 为子组件
const options = [];
const optionComp = resolveDynamicComponent(ui.option.name);
for (const item of this.computedOptions) {
const computedOptions = this.computedOptions || [];
for (const item of computedOptions) {
const option = (
<optionComp {...item} value={this.getValue(item)} label={this.getLabel(item)}>
{this.renderLabel ? this.renderLabel(item) : this.getLabel(item)}
Expand Down
3 changes: 2 additions & 1 deletion packages/fast-crud/src/components/fs-crud.vue
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@
<template #search>
<div class="fs-crud-search">
<fs-search
<component
:is="search.is || 'fs-search'"
ref="searchRef"
v-bind="search"
:slots="computedSearchSlots"
Expand Down
6 changes: 6 additions & 0 deletions packages/fast-crud/src/components/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,11 @@ import FsCell from "./crud/fs-cell";
import FsEditableCell from "./crud/editable/fs-editable-cell";
import FsActionbar from "./actionbar/index.vue";
import FsToolbar from "./toolbar/index.vue";

import FsSearch from "./search/index.vue";
import FsSearchV1 from "./search/search_v1.vue";
import FsSearchLayoutDefault from "./search/layout-default.vue";

import FsTabsFilter from "./search/tabs-filter.vue";

import FsDictRadio from "./extends/fs-dict-radio.vue";
Expand Down Expand Up @@ -60,6 +64,8 @@ export {
FsEditableCell,
FsRowHandle,
FsSearch,
FsSearchV1,
FsSearchLayoutDefault,
FsTabsFilter,
FsActionbar,
FsToolbar,
Expand Down
Loading

0 comments on commit 94c10cf

Please sign in to comment.