59 lines
1.4 KiB
JavaScript
59 lines
1.4 KiB
JavaScript
// packageD/mycomponent/agency-saleman/agency-saleman.js
|
||
Component({
|
||
/**
|
||
* 组件的属性列表
|
||
*/
|
||
properties: {
|
||
mid: {
|
||
type: [String, Number],
|
||
value: '0'
|
||
}
|
||
},
|
||
|
||
/**
|
||
* 组件的初始数据
|
||
*/
|
||
data: {
|
||
error: false,
|
||
timeoutId: null, //防抖,防止触发
|
||
self_member_id: "",
|
||
placeholder: "请输入销售员ID(选填)"
|
||
},
|
||
|
||
/**
|
||
* 组件的方法列表
|
||
*/
|
||
methods: {
|
||
inputChange(e) {
|
||
if (this.data.error) {
|
||
this.setData({
|
||
error: false
|
||
});
|
||
}
|
||
if (e.detail == this.data.mid) {
|
||
this.setData({
|
||
placeholder: '禁止输入自己的销售员ID'
|
||
});
|
||
}
|
||
this.setData({
|
||
self_member_id: e.detail
|
||
});
|
||
if (this.data.timeoutId) {
|
||
clearTimeout(this.data.timeoutId); // 先清除之前的延时,并在下面重新开始计算时间
|
||
}
|
||
// clearTimeout方法,以便控制连续触发带来的无用调用
|
||
this.data.timeoutId = setTimeout(() => {
|
||
// time 毫秒以后执行方法
|
||
this.blurInput();
|
||
}, 1500); // 如果还没有执行就又被触发,会根据上面的clearTimeout来清除并重新开始计算
|
||
},
|
||
blurInput() {
|
||
if (this.data.self_member_id == this.data.mid) {
|
||
this.setData({
|
||
error: true,
|
||
self_member_id: ''
|
||
});
|
||
}
|
||
}
|
||
}
|
||
}); |