1.0.4 • Published 1 month ago

@tanzhenxing/zx-select v1.0.4

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

zx-select 选择器组件

一个基于uni-app的选择器组件,支持单选、多选、搜索、分组等功能,兼容H5、小程序和APP。

特性

  • 单选和多选模式
  • 支持可清空选择
  • 支持禁用状态和禁用选项
  • 支持选项搜索过滤
  • 支持选项分组
  • 自定义模板(前缀、选项、标签等)
  • 支持H5、各类小程序以及APP

使用方法

基础用法

<template>
  <view>
    <zx-select 
      v-model="value" 
      :options="options" 
      placeholder="请选择"
    />
  </view>
</template>

<script setup>
import { ref } from 'vue';

const value = ref('');
const options = ref([
  { label: '选项一', value: '1' },
  { label: '选项二', value: '2' },
  { label: '选项三', value: '3' },
  { label: '选项四', value: '4' },
  { label: '选项五', value: '5' }
]);
</script>

禁用状态

<zx-select 
  v-model="value" 
  :options="options" 
  disabled
/>

可清空单选

<zx-select 
  v-model="value" 
  :options="options" 
  clearable
/>

基础多选

<zx-select 
  v-model="value" 
  :options="options" 
  multiple
/>

可搜索

<zx-select 
  v-model="value" 
  :options="options" 
  filterable
  search-placeholder="请输入关键词搜索"
/>

分组选项

<template>
  <zx-select v-model="value" :options="groupOptions" />
</template>

<script setup>
import { ref } from 'vue';

const value = ref('');
const groupOptions = ref([
  {
    label: '热门城市',
    value: 'hot',
    group: '城市分类'
  },
  {
    label: '北京',
    value: 'Beijing',
    group: '直辖市'
  },
  {
    label: '上海',
    value: 'Shanghai',
    group: '直辖市'
  },
  {
    label: '广州',
    value: 'Guangzhou',
    group: '广东省'
  },
  {
    label: '深圳',
    value: 'Shenzhen',
    group: '广东省'
  }
]);
</script>

自定义模板

<zx-select v-model="value" :options="options">
  <template #prefix>
    <text class="custom-prefix">城市:</text>
  </template>
  
  <template #option="{ item }">
    <view class="custom-option">
      <text>{{ item.label }}</text>
      <text class="custom-desc">{{ item.description }}</text>
    </view>
  </template>
</zx-select>

API

Props

参数说明类型默认值
modelValue / v-model绑定值string / number / array / object''
options可选项数据源array[]
placeholder占位文本string'请选择'
searchPlaceholder搜索框占位文本string'搜索选项'
disabled是否禁用booleanfalse
clearable是否可以清空选项booleanfalse
multiple是否多选booleanfalse
filterable是否可搜索booleanfalse
showConfirmButton多选时是否显示确认按钮booleantrue
confirmButtonText确认按钮文字string'确定'
cancelButtonText取消按钮文字string'取消'
valueKey选项对象中值对应的键名string'value'
labelKey选项对象中标签对应的键名string'label'
groupKey选项对象中分组对应的键名string'group'
emptyText无数据时显示的文本string'无数据'
maxHeight下拉菜单最大高度number / string600
activeColor选中项的高亮颜色string'#409eff'

Events

事件名说明回调参数
update:modelValue绑定值变化时触发当前值
change选中值变化时触发当前值
visible-change下拉框出现/隐藏时触发出现则为 true,隐藏则为 false
remove-tag多选模式下移除tag时触发移除的tag值
clear可清空的单选模式下用户点击清空按钮时触发-
focus当选择器获得焦点时触发-
blur当选择器失去焦点时触发-
search搜索输入时触发当前输入值
confirm多选模式下点击确认按钮时触发当前选中值
cancel多选模式下点击取消按钮时触发-

Slots

插槽名说明
default自定义下拉框内容
prefix自定义输入框前缀内容
option自定义选项内容,参数为 { item }
tag自定义标签内容,参数为 { item }
empty自定义无数据时的内容
header自定义下拉框顶部内容
footer自定义下拉框底部内容
1.0.1

2 months ago

1.0.4

1 month ago

1.0.3

2 months ago

1.0.0

11 months ago