Skip to content

基础单选

vue
<template>
  <view class="page">
    <view class="card">
      <label>单选</label>
      <ex-input-select
        v-model="selectVal"
        :list="list"
        @change="change"
      ></ex-input-select>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      selectVal: 1,
      list: [
        {
          label: "选项1",
          value: 1,
        },
        {
          label: "选项2",
          value: 2,
        },
        {
          label: "选项3",
          disabled: true,
          value: 3,
        },
        {
          label: "选项4",
          disabled: true,
          value: 4,
        },
        {
          label: "选项5",
          disabled: true,
          value: 5,
        },
        {
          label: "选项6",
          value: 6,
        },
        {
          label: "选项7",
          value: 7,
        },
        {
          label: "选项8",
          value: 8,
        },
        {
          label: "选项9",
          value: 9,
        },
      ],
    };
  },
  methods: {
    change(data) {
      console.log(this.selectVal, "select---------");
      console.log(data, "data-------");
    },
  },
};
</script>

<style lang="scss" scoped>
.page {
  padding: 40rpx;
}

.card {
  margin-top: 40rpx;
}
</style>

基础多选

vue
<template>
  <view class="page">
    <view class="card">
      <label>多选</label>
      <ex-input-select
        v-model="selectVal"
        :list="list"
        multiple
      ></ex-input-select>
    </view>
  </view>
</template>

<script>
export default {
  data() {
    return {
      selectVal: ["输入的选项反显", 1, 2],
      list: [
        {
          label: "选项1",
          value: 1,
        },
        {
          label: "选项2",
          value: 2,
        },
        {
          label: "选项3",
          disabled: true,
          value: 3,
        },
        {
          label: "选项4",
          disabled: true,
          value: 4,
        },
        {
          label: "选项5",
          disabled: true,
          value: 5,
        },
        {
          label: "选项6",
          value: 6,
        },
        {
          label: "选项7",
          value: 7,
        },
        {
          label: "选项8",
          value: 8,
        },
        {
          label: "选项9",
          value: 9,
        },
      ],
    };
  },
  methods: {
    change(data) {
      console.log(this.selectVal, "select---------");
      console.log(data, "data-------");
    },
  },
};
</script>

<style lang="scss" scoped>
.page {
  padding: 40rpx;
}

.card {
  margin-top: 40rpx;
}
</style>

属性

属性名类型默认值可选值说明
listArrayArray<String,Number,Object>选项列表
placeholderString请选择
emptyTipsString无选项空列表提示
clearBooleanfalse是否显示输入框后面清除按钮
labelKeyStringlabel列表为数组对象形式显示 key
valueKeyString,Number列表为数组对象绑定 valueKey
placeholderStyleStringcolor:#B2B2B2;font-size:24rpxplaceholder 样式
textAlignStringleftleft,right输入框文字对齐方式
listPostionStringleftleft,right列表相对输入框的对齐方式
listOffsetString0pxlist 选项相对输入框的偏移量
listWidthString100%left,rightlist 的宽度,默认继承父元素的宽度 100%
zIndexNumber1000层级
multipleBooleanfalsetrue,false是否多选
maxNumNumberInfinity最大选中数量, 仅多选有效
maxNumToastString超出最大选中数量超出最大选中数量的提示信息
disabledArrArray[]禁用选项(同按钮组使用方式)
selectedStyleObjectcolor: '#409eff'下拉选项选中样式
unSelectedStyleObjectcolor: '#4D4D4D'下拉选项未选中样式
disabledStyleObjectcolor: '#80808050'下拉选项禁用的样式
selectedIconColorString#409eff下拉选项选中时图标样式

list 配置项

属性名类型默认值可选值说明
labelString,Number显示的字段 ke
value绑定的 key
disabledBooleanfalse是否禁用选项 true 禁用

事件

事件名说明
change选中项更改事件