mint-ui Picker组件相关问题
XML/HTML Code复制内容到剪贴板
- <!-- visibleItemCount 绑定参数,slot中可见备选值的个数 这里的value-key表示显示对象中指定key -->
- <mt-picker :slots="slots" @change="onValuesChange" value-key="valueKey" :visibleItemCount="visibleItemCount"></mt-picker>
这里有一个坑啊,就是设置默认值,文档里面说了defaultIndex,可是貌似不行,也有可能数据是对象的原因:
JavaScript Code复制内容到剪贴板
- export default {
- data: function() {
- return {
- slots: [{
- flex: 1, //是否显示
- defaultIndex:0,
- values: [{
- valueId: '1',
- valueKey: '中文 - 英文'
- }, {
- valueId: '2',
- valueKey: '英文 - 中文'
- }, {
- valueId: '3',
- valueKey: '仅单词'
- }],
- className: 'slot1',
- textAlign: 'center'
- }, {
- flex: 1,
- defaultIndex:0,
- values: [{
- valueId: '1',
- valueKey: '顺序播放'
- }, {
- valueId: '2',
- valueKey: '随机播放'
- }],
- className: 'slot2',
- textAlign: 'center'
- }, {
- flex: 1,
- defaultIndex:0, //如果要设置默认值的话,这个参数必须要有,虽然没用
- values: [{
- valueId: '2000',
- valueKey: '2秒'
- }, {
- valueId: '3000',
- valueKey: '3秒'
- },
- {
- valueId: '4000',
- valueKey: '4秒'
- },
- {
- valueId: '5000',
- valueKey: '5秒'
- },
- {
- valueId: '6000',
- valueKey: '6秒'
- },
- ],
- className: 'slot3',
- textAlign: 'center'
- }],
- visibleItemCount: 1, //picker显示几个备选值
- },
- },
- mounted() {
- this.init(); //在初始化的方法里对它设置默认值
- },
- methods: {
- init() {
- this.slots[2].defaultIndex = 1;
- },
onValuesChange:
JavaScript Code复制内容到剪贴板
- /* 选择播放模式,设置播放参数 */
- onValuesChange(picker, values) {
- playNum = 0; //已播放的个数归零
- this.playData = []; //播放列表清零
- values[0] ? mode = values[0].valueId : ""; //设置播放模式
- values[1] ? playOrder = values[1].valueId : ""; //设置播放顺序
- values[2] ? playTime = values[2].valueId : ""; //设置播放间隔时间
- },
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
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
slots | slot 对象数组 | Array | [] | |
valueKey | 当 values 为对象数组时,作为文本显示在 Picker 中的对应字段的字段名 | String | '' | |
showToolbar | 是否在组件顶部显示一个 toolbar,内容自定义 | Boolean | false | |
visibleItemCount | slot 中可见备选值的个数 | Number | 5 | |
itemHeight | 每个 slot 的高度 | Number | 36 |
Slot
name | 描述 |
---|---|
- | 当 showToolbar 为 true 时,toolbar 中的内容 |