yuminge-app/yun-min-program-plugin-master/packageI/parkCouponFree/components/car-number-input/car-number-input.js

93 lines
1.7 KiB
JavaScript

// packageI/parkCouponFree/components/car-number-input/car-number-input.js
Component({
/**
* 组件的属性列表
*/
properties: {
},
/**
* 组件的初始数据
*/
data: {
numbers: [{
value: '',
focus: true
}, {
value: '',
focus: false
}, {
value: '',
focus: false
}, {
value: '',
focus: false
}, {
value: '',
focus: false
}, {
value: '',
focus: false
}, {
value: '',
focus: false
}, {
value: '',
focus: false,
eco: true
}]
},
/**
* 组件的方法列表
*/
methods: {
click(e) {
const _index = e.target.dataset.index;
const _nums = this.data.numbers;
_nums.forEach((item, index) => {
item.focus = index == _index;
});
this.setData({
numbers: _nums
});
this.triggerEvent('focus', _index);
},
/**
* {
* index: Number,
* value: String,
* remove: Boolean
* }
*/
change(data) {
const {
index,
value,
remove
} = data;
const _nums = this.data.numbers;
_nums[index].value = remove ? '' : value;
const len = _nums.length;
// let nextIndex = remove ? index - 1 : index + 1;
let nextIndex = remove ? index : index + 1;
if (remove && nextIndex < 0) {
nextIndex = len - 1;
}
if (!remove && nextIndex >= len)
nextIndex = 0;
_nums.forEach((item, idx) => {
item.focus = idx == nextIndex;
});
this.setData({
numbers: _nums
});
this.triggerEvent('focus', nextIndex);
}
}
})