Skip to content

SelectView 内嵌选择器

单选

html
<be-select-view mode="single" v-model="selectValue" :list="selectList" height="200px">
</be-select-view>
ts
import { ref } from 'vue';

const selectValue = ref<number>();
const selectList = ref([
  { label: '选项1', value: 1 },
  { label: '选项2', value: 2 },
  { label: '选项3', value: 3 }
]);

多选

html
<be-select-view mode="multiple" v-model="selectValue" :list="selectList" height="200px">
</be-select-view>
ts
import { ref } from 'vue';

const selectValue = ref<number[]>([]);
const selectList = ref([
  [
    { label: '选项1', value: 1 },
    { label: '选项2', value: 2 },
    { label: '选项3', value: 3 }
  ],
  [
    { label: '选项4', value: 4 },
    { label: '选项5', value: 5 },
    { label: '选项6', value: 6 }
  ]
]);

级联选择

html
<be-select-view mode="cascade" v-model="selectValue" :list="selectList" height="200px">
</be-select-view>
ts
import { ref } from 'vue';

const selectValue = ref<number[]>([]);
const selectList = ref([
  {
    label: '选项1',
    value: 100,
    children: [
      {
        label: '选项1-1',
        value: 110,
        children: [
          {
            label: '选项1-1-1',
            value: 111
          },
          {
            label: '选项1-1-2',
            value: 112
          }
        ]
      },
      {
        label: '选项1-2',
        value: 120,
        children: [
          {
            label: '选项1-2-1',
            value: 121
          },
          {
            label: '选项1-2-2',
            value: 122
          }
        ]
      }
    ]
  },
  {
    label: '选项2',
    value: 200,
    children: [
      {
        label: '选项2-1',
        value: 210,
        children: [
          {
            label: '选项2-1-1',
            value: 211
          }
        ]
      }
    ]
  }
]);

API

Props

属性名说明类型默认值
modelValue(v-model)当前选中值(数组)string | number | Array<string | number>undefined
list列数据见示例-
mode选择模式single | multiple | cascadesingle
valueName自定义列数据的value字段名stringvalue
labelName自定义列数据的label字段名stringlabel
childName自定义列数据的children字段名stringchildren
width宽度css width100%
height高度css height400rpx
layout列布局方式。可选值row-reverse,水平从右到左排列default | row-reversedefault

INFO

v-model值如果为空,在组件初始化时会为其赋一个默认值(第一个选项)

Props extend uni-app picker-view

属性名说明默认值
indicatorStyle属性说明height: 40px
indicatorClass属性说明-
maskStyle属性说明-
maskClass属性说明-

Events

事件名称说明回调参数
change当滚动选择时触发,回调函数第一个参数为picker-viewvalue,第二个参数为第几列(value: number[], index: number) => {}

Methods

方法名说明参数
clear清空当前选中值() => void