141 lines
2.4 KiB
Markdown
141 lines
2.4 KiB
Markdown
# 弹出选择组件: wo-pop-selector
|
||
|
||
> 采用uniapp-vue3实现, 支持H5、微信小程序(其他小程序未测试过,可自行尝试)
|
||
|
||
## props属性
|
||
|
||
### maxHeight
|
||
|
||
> 弹窗最大高度
|
||
|
||
~~~js
|
||
height: {
|
||
type: String,
|
||
default: '250rpx',
|
||
},
|
||
~~~
|
||
|
||
### activeColor
|
||
|
||
> 选项激活颜色
|
||
|
||
~~~js
|
||
activeColor: {
|
||
type: String,
|
||
default: '#58BA86'
|
||
},
|
||
~~~
|
||
|
||
### cardStyle
|
||
|
||
> 弹窗样式,支持驼峰式style样式
|
||
|
||
~~~js
|
||
cardStyle: {
|
||
type: Object,
|
||
default: () => {
|
||
return {
|
||
background: '#ffffff',
|
||
border: '1px solid #ebeef5',
|
||
borderRadius: '6px',
|
||
boxShadow: '0 2px 12px 0 rgba(0, 0, 0, 0.1)',
|
||
padding: '4px 0',
|
||
fontSize: '26rpx'
|
||
}
|
||
}
|
||
},
|
||
~~~
|
||
|
||
### defaultValue
|
||
|
||
> 初始选中的默认值
|
||
|
||
~~~js
|
||
defaultValue: {
|
||
type: string | number,
|
||
default: 0
|
||
}
|
||
~~~
|
||
|
||
### selectOptions
|
||
|
||
> 选项数据
|
||
|
||
~~~js
|
||
selectOptions: {
|
||
type: any[],
|
||
default: () => [
|
||
{
|
||
value: 0,
|
||
label: '选项1',
|
||
},
|
||
{
|
||
value: 1,
|
||
label: '选项2',
|
||
},
|
||
{
|
||
value: 2,
|
||
disabled: true,
|
||
label: '选项3',
|
||
},
|
||
{
|
||
value: 3,
|
||
label: '选项4',
|
||
}
|
||
]
|
||
}
|
||
~~~
|
||
|
||
|
||
|
||
## 插槽
|
||
|
||
### 默认插槽-自定义主体点击内容
|
||
|
||
> v-slot
|
||
|
||
~~~html
|
||
<pop-selector :select-options="state.options" :default-value="state.value" @changeSelect="onChangeMenu">
|
||
<view class="button">
|
||
状态选择:{{ state.options[state.value]?.label }}
|
||
</view>
|
||
</pop-selector>
|
||
~~~
|
||
|
||
### 自定义弹窗头部
|
||
|
||
> v-slot:header
|
||
|
||
~~~html
|
||
<pop-selector :active-color="'#0086D1'" :select-options="state.options" :default-value="state.value" @changeSelect="onChangeMenu">
|
||
<view class="button">
|
||
状态选择:{{ state.options[state.value]?.label }}
|
||
</view>
|
||
<template v-slot:header>
|
||
<view style="padding: 12rpx 20rpx; color: grey;">请选择订单状态</view>
|
||
</template>
|
||
</pop-selector>
|
||
~~~
|
||
|
||
### 自定义右边图标
|
||
|
||
> v-slot:end
|
||
|
||
~~~html
|
||
<pop-selector :select-options="state.options" :default-value="state.value" @changeSelect="onChangeMenu">
|
||
<view class="button">
|
||
状态选择:{{ state.options[state.value]?.label }}
|
||
</view>
|
||
<template v-slot:right>
|
||
<view>✅</view>
|
||
</template>
|
||
</pop-selector>
|
||
~~~
|
||
|
||
## 事件
|
||
|
||
### @changeSelect
|
||
|
||
> 点击选项时触发,返回选项数据的值格式
|
||
|