注: 由于此组件基于 create-api 实现,所以在使用之前,请确保自己了解过 。
基本用法
const col1Data = [{ text: ‘剧毒’, value: ‘剧毒’}, { text: ‘蚂蚁’, value: ‘蚂蚁’ },
{ text: ‘幽鬼’, value: ‘幽鬼’ }]
export default {
mounted () {
this.picker = this.- createPicker({
title: ‘Picker’,
data: [col1Data],
onSelect: (selectedVal, selectedIndex, selectedText) => {
this.- createDialog({
type: ‘warn’,
content: `Selected Item:
- value: - {selectedVal.join(‘, ‘)}
},
methods: {
showPicker () {
this.picker.show()
}
}
}
data字段接收一个数组,其长度决定了picker的列数。
const col1Data = [{ text: ‘剧毒’, value: ‘剧毒’}, { text: ‘蚂蚁’, value: ‘蚂蚁’ },
{ text: ‘幽鬼’, value: ‘幽鬼’ }]
const col2Data = [{ text: ‘输出’, value: ‘输出’ }, { text: ‘控制’, value: ‘控制’ },
{ text: ‘核心’, value: ‘核心’}, { text: ‘爆发’, value: ‘爆发’ }, { text: ‘辅助’, value: ‘辅助’ },
{ text: ‘打野’, value: ‘打野’ }, { text: ‘逃生’, value: ‘逃生’ }, { text: ‘先手’, value: ‘先手’ }]
const col3Data = [{ text: ‘梅肯’, value: ‘梅肯’}, { text: ‘秘法鞋’, value: ‘秘法鞋’ },
{ text: ‘假腿’, value: ‘假腿’ }, { text: ‘飞鞋’, value: ‘飞鞋’ }, { text: ‘辉耀’, value: ‘辉耀’ },
{ text: ‘金箍棒’, value: ‘金箍棒’ }]
export default {
mounted () {
this.mutiPicker = this.- createPicker({
title: ‘Multi-column Picker’,
data: [col1Data, col2Data, col3Data],
onSelect: (selectedVal, selectedIndex, selectedText) => {
this.- createDialog({
type: ‘warn’,
content: `Selected Item:
- value: - {selectedVal.join(‘, ‘)}
- 配置别名
可通过alias属性配置value和text的别名。如,用id代表value,用name代表text。
export default {
mounted () {
this.aliasPicker = this.- createPicker({
title: ‘Use Alias’,
data: [[{ id: 1, name: ‘A’ }, { id: 2, name: ‘B’ }, { id: 3, name: ‘C’ }]],
alias: {
value: ‘id’,
text: ‘name’
},
onSelect: (selectedVal, selectedIndex, selectedText) => {
this.- createDialog({
type: ‘warn’,
content: `Selected Item:
- value: - {selectedVal.join(‘, ‘)}
},
methods: {
showAliasPicker() {
this.aliasPicker.show()
}
}
}
- 实例方法 setData
const col1Data = [{ text: ‘剧毒’, value: ‘剧毒’}, { text: ‘蚂蚁’, value: ‘蚂蚁’ },
{ text: ‘幽鬼’, value: ‘幽鬼’ }]
const col2Data = [{ text: ‘梅肯’, value: ‘梅肯’}, { text: ‘秘法鞋’, value: ‘秘法鞋’ },
{ text: ‘假腿’, value: ‘假腿’ }, { text: ‘飞鞋’, value: ‘飞鞋’ }, { text: ‘辉耀’, value: ‘辉耀’ },
{ text: ‘金箍棒’, value: ‘金箍棒’ }]
const col3Data = [{ text: ‘输出’, value: ‘输出’}, { text: ‘控制’, value: ‘控制’ },
{ text: ‘核心’, value: ‘核心’ }, { text: ‘爆发’, value: ‘爆发’}, { text: ‘辅助’, value: ‘辅助’ }]
export default {
mounted () {
this.setDataPicker = this.- createPicker({
title: ‘Use SetData’,
onSelect: (selectedVal, selectedIndex, selectedText) => {
this.- createDialog({
type: ‘warn’,
content: `Selected Item:
- value: - {selectedVal.join(‘, ‘)}
实例方法setData可接受2个参数,都为数组类型。第一个参数为滚轴需要显示的数据,第二个参数为选中值的索引。
通过 subtitle 属性,设置副标题。
const col1Data = [{ text: ‘剧毒’, value: ‘剧毒’}, { text: ‘蚂蚁’, value: ‘蚂蚁’ },
{ text: ‘幽鬼’, value: ‘幽鬼’ }]
export default {
mounted () {
this.subtitlePicker = this.- createPicker({
title: ‘Picker’,
subtitle: ‘subtitle’,
data: [col1Data],
onSelect: this.selectHandle,
onCancel: this.cancelHandle
})
},
methods: {
showSubtitlePicker () {
this.subtitlePicker.show()
},
selectHandle(selectedVal, selectedIndex, selectedText) {
this.- createDialog({
type: ‘warn’,
content: ,
icon: ‘cubeic-alert’
}).show()
},
cancelHandle() {
this.- createToast({
type: ‘correct’,
txt: ‘Picker canceled’,
time: 1000
}).show()
}
}
}
- data子配置项
|参数|说明|类型|默认值|示例
|——-
|text|picker每一列展示的文案|String/Number|-|-
|value|picker每一列展示的每项文案对应的值|String/Number/Boolean|-|-
原文: