更新记录
1.0.0(2026-01-05) 下载此版本
- 多选选择器
- 字段映射配置
- v-model 双向绑定
- 兼容 H5、微信小程序
平台兼容性
uni-app(4.83)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|
| √ | √ | √ | √ | √ | √ | √ | √ | √ | √ | √ |
multi-select-picker 多选选择器
简洁易用的多选选择器,支持自定义字段映射,零依赖纯原生实现。
平台兼容
✅ H5 ✅ 微信小程序
快速开始
<template>
<view>
<button @click="showPicker = true">选择</button>
<multi-select-picker
v-model:show="showPicker"
v-model="selected"
:list="options"
@confirm="onConfirm"
/>
</view>
</template>
<script setup>
import { ref } from 'vue';
const showPicker = ref(false);
const selected = ref([]);
const options = [
{ value: '1', label: '选项1' },
{ value: '2', label: '选项2' },
{ value: '3', label: '选项3' }
];
const onConfirm = (list) => {
console.log('选中:', list);
};
</script>
Props
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| show | 是否显示(支持 v-model:show) | Boolean | false |
| modelValue | 选中的值(支持 v-model) | Array | [] |
| list | 选项列表 | Array | [] |
| title | 标题 | String | 请选择 |
| emptyText | 空数据提示 | String | 暂无数据 |
| keyName | 唯一标识字段名 | String | value |
| valueName | 显示文本字段名 | String | label |
Events
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| update:show | 显示状态改变 | Boolean |
| update:modelValue | 选中值改变 | Array |
| change | 选中值改变(实时) | Array |
| confirm | 点击确定 | Array |
字段映射
数据字段名不同时可配置映射:
<multi-select-picker
v-model:show="showPicker"
v-model="selected"
:list="options"
keyName="id"
valueName="name"
/>
完整示例
<template>
<view class="page">
<view class="result">
<text>已选择 {{ selected.length }} 项</text>
<view v-for="item in selected" :key="item.value">
{{ item.label }}
</view>
</view>
<button @click="showPicker = true">选择</button>
<multi-select-picker
v-model:show="showPicker"
v-model="selected"
title="请选择"
:list="options"
@confirm="onConfirm"
@change="onChange"
/>
</view>
</template>
<script setup>
import { ref } from 'vue';
const showPicker = ref(false);
const selected = ref([]);
const options = [
{ value: '1', label: '苹果' },
{ value: '2', label: '香蕉' },
{ value: '3', label: '橙子' },
{ value: '4', label: '西瓜' },
{ value: '5', label: '葡萄' }
];
const onConfirm = (list) => {
console.log('确认选择:', list);
};
const onChange = (list) => {
console.log('实时变化:', list);
};
</script>
注意事项
- 零依赖,无需安装第三方库
- 支持 v-model 双向绑定
- 选中的值为完整对象数组
License
MIT

收藏人数:
下载插件并导入HBuilderX
赞赏(0)
下载 12
赞赏 0
下载 12989880
赞赏 1839
赞赏
京公网安备:11010802035340号