purchase-let/uni_modules/next-search-select
mkm c1f28d2184 feat(pageQuota): 采购产品页面增加供应商搜索功能
- 在采购产品页面添加供应商搜索组件
- 更新 API 调用以支持供应商名称搜索
- 优化供应商列表展示逻辑
- 调整每页显示数量为 50 条
- 更新本地测试环境 URL
2025-01-02 11:18:21 +08:00
..
components/next-search-select feat(pageQuota): 采购产品页面增加供应商搜索功能 2025-01-02 11:18:21 +08:00
changelog.md feat(pageQuota): 采购产品页面增加供应商搜索功能 2025-01-02 11:18:21 +08:00
package.json feat(pageQuota): 采购产品页面增加供应商搜索功能 2025-01-02 11:18:21 +08:00
readme.md feat(pageQuota): 采购产品页面增加供应商搜索功能 2025-01-02 11:18:21 +08:00

readme.md

next-search-select --下拉多选,单选,搜索

遇到问题或有建议可以加入QQ群(455948571)反馈
如果觉得组件不错,给五星鼓励鼓励咯!

如果有使用问题请加群

注意如果插件问题请务必给一个完整的复现demo谢谢配合 点击链接加入群聊前端开发uniapp插件

使用

从uniapp插件市场导入

<template>
	<view class="title"><text>1. 单选模式:</text></view>
	<view class="item">
		<next-search-select
			:multiple="false"
			:list="options"
			label-key="projectName"
			value-key="id"
			placeholder=" 请选择报备项目"
			title="选择报备项目"
			v-model:value="projectId"
			@search="searchFunc"
			@change="changeCallback"
			clearable
		></next-search-select>
	</view>
	<view class="title"><text>2. 多选模式:</text></view>
	<view class="item">
		<next-search-select
			:multiple="true"
			:list="options"
			label-key="projectName"
			value-key="id"
			placeholder=" 请选择报备项目"
			title="选择报备项目"
			v-model:value="projectIds"
			@search="searchFunc"
			@change="changeCallback"
			clearable
		></next-search-select>
	</view>
</template>

vue3 + ts 使用

<script setup lang="ts">
import {ref, unref} from "vue"

const options = ref<any>([])
// 单选模式下绑定的值是字符串
const projectId = ref("")
// 多选模式值必须是数值类型
const projectIds = ref([])
let dataLength = 0

function searchFunc(val?) {
	console.log("搜索的关键字:", val)
	uni.showLoading({
		title: '请稍后...',
		icon: 'none'
	})
	// 模拟ajax请求
	setTimeout(() => {
		options.value = []
		dataLength = 0
		if (dataLength < 40) {
			for (let i = 0; i < 40; i++) {
				options.value.push({
					id: `id-${val ? val + '-' : ''}${dataLength + i}`,
					projectName: `项目item-${val ? val + '-' : ''}${dataLength + i}`,
					ohterKey: `test-${i}`,
					disabled: i%2 === 0
				})
			}
			dataLength = unref(options).length
		}
		uni.hideLoading()
	}, 1000)
	
}
function changeCallback(item) {
	console.log("选中的item", item)
}
searchFunc()
</script>
<style lang="scss">
	.title {
		color: #f9ae3d;
		font-size: 30rpx;
		padding: 20rpx 10rpx;
		background-color: #333;
	}
	.item {
		padding: 10rpx 20rpx;
		border: 1rpx solid #ccc;
	}
</style>

vue2 同样支持在这里不再写demo

组件按需加载

如果不需要组件全局加载而已把组件拷贝到项目的components目录下单独引入进来使用即可达到按需加载的效果

预览


功能预览

参数

next-search-select Props

可选参数属性列表

参数名 说明 类型 是否必填 默认值 可选值
showSearch 是否显示搜索框 Boolean true false
value v-model v-model:value 绑定值 Number, String, Array, Object "" -
placeholder 搜索框placeholder String "" -
multiple 是否多选 Boolean false true
list 列表值 Array [] -
valueKey list列表绑定的value关键属性key String value -
labelKey list列表绑定的label(显示)关键属性key String label -
disabledKey list列表绑定的disabled(显示)关键属性key String disabled -
disabled disabled Boolean false true
emptyText 重置按钮文本text String 重置 -
title 弹层标题 String 选择内容 -
confirmText 确定按钮文本text String 确定 -
color 文字颜色 String #000000 -
selectColor 激活颜色 String #f9ae3d -
bgColor 弹层背景颜色 String #ffffff -
selectBgColor 激活项背景颜色 String #ffffff -
showSearchBtn 是否显示搜索按钮 Boolean true false
showArrow 是否显示右指示箭头 Boolean true false

Event 事件

事件名 说明 类型 回调参数
confirm 点击确定触发事件 emit -
change change emit -
visibleChange 弹层改变触发 emit -