UNPKG

lc-vue-select-input

Version:
156 lines (131 loc) 3.49 kB
# lc-vue-select-input 选择器样式组件 常用场景: - 配合 element-plus 中的 table 组件实现动态容器固定表头 ## Demo [demo](https://unpkg.com/lc-vue-select-input/docs/.vitepress/dist/index.html) ## 安装 ``` npm i lc-vue-select-input ``` ## 例子 ```vue <template> <p> <select-input clearable @click='onClick' @clear-click='onClearClick'> <template #icon> <el-icon><circle-check /></el-icon> </template> </select-input> </p> <p> <select-input v-model='value' clearable @click='onClick' @clear-click='onClearClick' /> </p> <p> <select-input v-model='value' @click='onClick' @clear-click='onClearClick' /> </p> <p> <select-input v-model='value' clearable disabled @click='onClick' @clear-click='onClearClick' /> </p> <p> <select-input :model-value='["a","b"]' multiple clearable disabled @click='onClick' @clear-click='onClearClick'> <template #icon> <el-icon><circle-check /></el-icon> </template> </select-input> </p> <p> <select-input :model-value='[]' clearable multiple @click='onClick' @clear-click='onClearClick' @multiple-tag-remove='onMultipleTagRemove' /> </p> <p> <select-input :model-value='["a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b"]' multiple @click='onClick' @clear-click='onClearClick' @multiple-tag-remove='onMultipleTagRemove' /> </p> <p> <select-input :model-value='["a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b"]' multiple clearable @click='onClick' @clear-click='onClearClick' @multiple-tag-remove='onMultipleTagRemove' /> </p> <p> <select-input :model-value='["a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b","a","b"]' multiple multiple-line clearable @click='onClick' @clear-click='onClearClick' @multiple-tag-remove='onMultipleTagRemove' /> </p> </template> <script setup lang="ts"> import { SelectInput } from 'lc-vue-select-input'; import { ref } from 'vue'; const value = ref('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'); const onClick = () => { console.log('onClick'); }; const onClearClick = () => { console.log('onClearClick'); }; const onMultipleTagRemove = (index) => { console.log('onMultipleTagRemove', index); }; </script> <style scoped> </style> ``` ## API ### Attributes | 属性名 | 说明 | 类型 | 默认值 | | ---- | ---- | ---- | ---- | | modelValue | 显示值 | string/array | - | | placeholder | 提示 | string | 请选择 | | disabled | 禁用 | boolean | false | | multiple | 多选 | boolean | false | | multipleLine | 多选时tag显示多行 | boolean | true | | clearable | 显示清空icon | boolean | false | ### Events | 事件名 | 说明 | 类型 | | ---- | ---- | ---- | | click | 点击事件 | ()=>void | | clear-click | 清空图标点击事件 | ()=>void | | multiple-tag-remove | 多选tag删除事件 | (index:number) => void | ### Slots | 插槽名 | 说明 | 参数 | | ---- | ---- | ---- | | icon | 右侧图标 | - |