aircraft-pilot/components/w-select/readme.md

117 lines
3.0 KiB
Markdown

#### props
| 名称 | 类型 | 默认值 | 说明 |
| ----------- | ------- | -------- | ------------------------------------------------------ |
| width | string | '200px' | 选择框宽度 |
| height | string | '30px' | 选择框高度 |
| bgColor | string | '#fff' | 选择框背景颜色 |
| placeholder | string | '请选择' | 输入框占位文本 |
| valueName | string | 'label' | 显示的内容字段名 |
| keyName | string | 'value' | 绑定的内容字段名 |
| list | array | [] | 展示的内容列表 |
| showClose | boolean | true | 是否显示删除按钮 |
| multiple | boolean | false | 是否开启多选 |
| filterable | boolean | false | 是否开启搜索功能,开启后直接输入值不选择也可以保存内容 |
该组件默认下拉选择器是从底部弹出,当检测到底部高度不足时则会在上面弹出
#### events
| 事件名 | 说明 |
| ------ | --------------------------------------------- |
| change | 选择的内容改变时触发,返回的参数为列表的 item |
#### 基本使用
绑定的值通过`v-model`绑定,如下面的`chooseValue`,需要获取 item 的值可以监听`@change`事件
```vue
<template>
<view class="login">
<w-select
style="margin-left: 20rpx;"
v-model="chooseValue"
:list="list"
valueName="content"
keyName="id"
@change="change"
>
</w-select>
</view>
</template>
<script>
export default {
data() {
return {
chooseValue: "",
list: [
{
id: 1,
content: "张三",
},
{
id: 2,
content: "李四",
},
{
id: 3,
content: "王五",
},
],
};
},
methods: {
change(e) {
console.log("chooseValue", this.chooseValue);
},
},
};
</script>
```
#### 多选
多选开启`multiple`属性,双向绑定的值必须为数组类型,在 change 事件中根据自己需求进行处理。
```vue
<template>
<w-select
v-model="chooseValue"
:list="list"
multiple
valueName="content"
keyName="id"
@change="change"
>
</w-select>
</template>
<script>
export default {
data() {
return {
chooseValue: [],
list: [
{
id: 1,
content: "张三",
},
{
id: 2,
content: "李四",
},
{
id: 3,
content: "王五",
},
],
};
},
methods: {
change(e) {
console.log("chooseValue", this.chooseValue);
},
},
};
</script>
```