增加最小选中

This commit is contained in:
aihe 2023-12-08 23:29:25 +08:00
parent 4ce5b6492f
commit f3c646e785
2 changed files with 13 additions and 3 deletions

View File

@ -41,6 +41,11 @@
return []
}
},
minChecked: {
default () {
return 0
}
},
type: {
default () {
return typeEnum.multiple // typeEnum | ''; 为空代表不做切换选中功能
@ -72,7 +77,10 @@
const curVal = curItem.val
const hasChked = checkedVal.indexOf(curVal) > -1
if (hasChked) {
checkedVal = checkedVal.filter(val => val != curVal)
// 取消选中前,校验最小选中个数
if(checkedVal.length > this.minChecked) {
checkedVal = checkedVal.filter(val => val != curVal)
}
} else {
if (this.type == typeEnum.multiple) {
checkedVal.push(curVal)

View File

@ -1,10 +1,10 @@
<template>
<view>
<tpx-checkitems :list="list" :type="type" :value="value" v-slot="current" item-style="display:inline-block;"
@onItemClick="handleoItemClick" @onChange="handleChange"
:min-checked="minChecked" @onItemClick="handleoItemClick" @onChange="handleChange"
>
<view slot class="smp-tag">
<u-tag :text="`${current.item.title}`" :plain="!current.checked" :type="mode"
<u-tag :text="`${current.item.title}`" :plain="!current.checked" :type="mode"
border-color="transparent" shape="circle" :bg-color="`${(current.checked || (mode == 'primary'))?activeColor:color}`"
:color="`${(current.checked || (mode == 'primary'))?'#fff':'#666'}`"
@close="handleDeleteItem(current.item)" :closable="closable"
@ -23,6 +23,8 @@
},
value: {
},
minChecked: {
},
type: {
},
// ======================== 分割线, 上方是 tpx-checkitems属性 ======================