@mywzzz/mineadmin-search-panel
v1.0.9
Published
Library-ready search panel component for MineAdmin and Vue 3 projects
Maintainers
Readme
@mywzzz/mineadmin-search-panel
Vue 3 + Element Plus search panel component extracted from MineAdmin scenarios.
Install
npm install @mywzzz/mineadmin-search-panelPeer dependencies:
vueelement-plus@iconify/vue
Usage
import { createApp } from 'vue'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import App from './App.vue'
createApp(App).use(ElementPlus).mount('#app')<script setup lang="ts">
import { ref } from 'vue'
import SearchPanel, { type LegacySearchPanelItem } from '@mywzzz/mineadmin-search-panel'
import '@mywzzz/mineadmin-search-panel/style.css'
const form = ref<Record<string, unknown>>({
username: '',
status: '',
})
const items: LegacySearchPanelItem[] = [
{
label: () => '用户名',
prop: 'username',
render: 'input',
renderProps: {
clearable: true,
placeholder: '请输入用户名',
},
},
{
label: () => '状态',
prop: 'status',
render: 'select',
renderProps: {
clearable: true,
options: [
{ label: '启用', value: '1' },
{ label: '禁用', value: '0' },
],
},
},
]
</script>
<template>
<SearchPanel
v-model="form"
title="用户检索"
subtitle="真实 npm 包使用示例"
:items="items"
:fold="true"
@search="console.log"
@reset="console.log"
/>
</template>Supported item input
- Library items:
input/select/date-picker/input-number - Legacy MineAdmin-style items:
label+prop+render+renderProps - Custom component items: component must support
v-modeland pass width-related attrs or styles to the actual input control
Build
npm run buildThe build outputs:
dist/index.jsdist/index.umd.cjsdist/index.d.tsdist/style.css
