Skip to content
On this page

Select 选择器

● 基本用法

select 下拉框基本使用示例,需要一个主要的 options 参数

展示代码
vue
<template>
<div>
  <k-select
  :options="selOptions"
  @change="selchange"
  v-model="selVal"
>
</k-select>
</div>

</template>

<script lang="ts" setup>
import { reactive,ref } from "vue";
const selVal = ref("zhongguo");
const state = reactive({
selOptions: [
  { label: "中国", value: "zhongguo" },
  { label: "俄罗斯", value: "eluosi" },
  { label: "美国", value: "meiguo" },
  { label: "澳大利亚", value: "aodaliya" },
  { label: "巴基斯坦", value: "bajisitan" },
],
});
const selchange = (item:any, index:any) => {

};
const { selOptions } = state;
</script>

● 禁用状态

可以设置 disabled 属性来实现禁用状态参数

展示代码
vue
<template>
<div>
<k-select 
:options="selOptions"
disabled
placeholder="请选择"
>
</k-select>
</div>

</template>

<script lang="ts" setup>
import { reactive} from "vue";
const state = reactive({
selOptions: [
  { label: "中国", value: "zhongguo" },
  { label: "俄罗斯", value: "eluosi" },
  { label: "美国", value: "meiguo" },
  { label: "澳大利亚", value: "aodaliya" },
  { label: "巴基斯坦", value: "bajisitan" },
],
});
const { selOptions } = state;
</script>

● 选项禁用

可以针对 options 下某个选项来添加 disabled 属性实现禁用选项

展示代码
vue
<template>

<div>
<k-select
  :options="selOptions"
  v-model="selVal"
>
</k-select>
</div>
</template>

<script setup>
import { reactive,ref } from "vue";
const selVal = ref("meiguo");
const state = reactive({
selOptions: [
  { label: "中国", value: "zhongguo" },
  { label: "俄罗斯", value: "eluosi",disabled:true },
  { label: "美国", value: "meiguo" },
  { label: "澳大利亚", value: "aodaliya" ,disabled:true},
  { label: "巴基斯坦", value: "bajisitan"},
],
});
const { selOptions } = state;
</script>

● 匹配不同格式的数据

默认 options 接收 label 和 value 作为显示和值绑定,你可以根据labelFiled valueFiled 来重新确定字段的绑定,更方便的匹配不同格式的数据。

展示代码
vue
<template>
<div>
<k-select
  :options="selOptions"
  filedLabel="name" filedValue="id"
  placeholder="请选择"
>
</k-select>
</div>

</template>

<script setup>
import { reactive } from "vue";
const state = reactive({
selOptions: [
  { name: "中国", id: "zhongguo" },
  { name: "俄罗斯", id: "eluosi" },
  { name: "美国", id: "meiguo" },
  { name: "澳大利亚", id: "aodaliya" },
  { name: "巴基斯坦", id: "bajisitan" },
],
});
const { selOptions } = state;
</script>

● Attributes 参数

参数类型说明可选值默认值
v-modelString || Array下拉框绑定值,开启多选时类型为Array————
sizeString尺寸大小default / small / minidefault
placeholderString下拉框占位字符————
optionsArray下拉框数据配置,具体见下方 options API——[]
disabledBoolean是否为禁用状态true / falsefalse
widthString自定义宽度——260px
heightString自定义高度————
searchableBoolean是否开启过滤搜索true / falsefalse
multipleBoolean是否开启多选true / falsefalse
labelFiledString自定义替换lable的字段名——label
valueFiledString自定义替换value的字段名——value

options API

参数类型说明可选值默认值
labelString下拉框默认label展示字段名,
自定义请使用 labelFiled 属性重新关联lable字段
——label
valueString下拉框默认value选中值,
自定义请使用 valueFiled 属性重新关联value字段
——value
disabledBoolean是否禁用选项true / falsefalse

Released under the MIT License.