flower-mp/components/count-picker/index.js
2025-10-14 11:36:17 +08:00

79 lines
1.3 KiB
JavaScript

// components/picker/index.js
Component({
/**
* 组件的属性列表
*/
properties: {
title: {
type: String,
require: true
},
prop: {
type: String,
require: true
},
value: {
type: String,
require: false
}
},
observers: {
// 监听 visible 的变化
'value': function (newVal, oldVal) {
if (newVal) {
this.setData({
result:newVal
})
}
}
},
/**
* 组件的初始数据
*/
data: {
visible: false,
result: '',
counts: []
},
/**
* 组件的方法列表
*/
methods: {
init() {
var list = []
for (let index = 1; index < 31; index++) {
const item = {
label: index,
value: index
}
list.push(item)
}
this.setData({
counts: list
})
},
confirm(e) {
const value = e.detail.value[0]
console.log(e);
this.setData({
result: value,
visible:false
})
this.triggerEvent('ok', {
value: {prop: this.data.prop,value:value}
});
},
onVisibleChange() {
const show = !this.data.visible
if (show) {
this.init()
}
this.setData({
visible: show
})
},
}
})