返回介绍

picker

发布于 2021-06-25 16:28:59 字数 6148 浏览 928 评论 0 收藏 0

选择器,支持多 slot 联动。


引入

import { Picker } from 'mint-ui';

Vue.component(Picker.name, Picker);

例子

传入 slots,当被选中的值发生变化时触发 change 事件。change 事件有两个参数,分别为当前 picker 的 vue 实例和各 slot 被选中的值组成的数组

<mt-picker :slots="slots" @change="onValuesChange"></mt-picker>
export default {
  methods: {
    onValuesChange(picker, values) {
      if (values[0] > values[1]) {
        picker.setSlotValue(1, values[0]);
      }
    }
  },
  data() {
    return {
      slots: [
        {
          flex: 1,
          values: ['2015-01', '2015-02', '2015-03', '2015-04', '2015-05', '2015-06'],
          className: 'slot1',
          textAlign: 'right'
        }, {
          divider: true,
          content: '-',
          className: 'slot2'
        }, {
          flex: 1,
          values: ['2015-01', '2015-02', '2015-03', '2015-04', '2015-05', '2015-06'],
          className: 'slot3',
          textAlign: 'left'
        }
      ]
    };
  }
};

change 事件

change 事件中,可以使用注册到 picker 实例上的一些方法:

  • getSlotValue(index):获取给定 slot 目前被选中的值
  • setSlotValue(index, value):设定给定 slot 被选中的值,该值必须存在于该 slot 的备选值数组中
  • getSlotValues(index):获取给定 slot 的备选值数组
  • setSlotValues(index, values):设定给定 slot 的备选值数组
  • getValues():获取所有 slot 目前被选中的值(分隔符 slot 除外)
  • setValues(values):设定所有 slot 被选中的值(分隔符 slot 除外),该值必须存在于对应 slot 的备选值数组中

slots

绑定到 slots 属性的数组由对象组成,每个对象都对应一个 slot,它们有如下键名

key描述
divider对应 slot 是否为分隔符
content分隔符 slot 的显示文本
values对应 slot 的备选值数组。若为对象数组,则需在 mt-picker 标签上设置 value-key 属性来指定显示的字段名
defaultIndex对应 slot 初始选中值,需传入其在 values 数组中的序号,默认为 0
textAlign对应 slot 的对齐方式
flex对应 slot CSS 的 flex 值
className对应 slot 的类名

API

参数说明类型可选值默认值
slotsslot 对象数组Array[]
valueKey当 values 为对象数组时,作为文本显示在 Picker 中的对应字段的字段名String''
showToolbar是否在组件顶部显示一个 toolbar,内容自定义Booleanfalse
visibleItemCountslot 中可见备选值的个数Number5
itemHeight每个 slot 的高度Number36

Slot

name描述
-当 showToolbar 为 true 时,toolbar 中的内容

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文