33 lines
689 B
JavaScript
33 lines
689 B
JavaScript
|
|
Component({
|
|||
|
|
properties: {
|
|||
|
|
label: String,
|
|||
|
|
placeholder: String,
|
|||
|
|
field: String, // 字段标识(如'name'/'phone')
|
|||
|
|
value: String // 父组件传入的值(可选双向绑定)
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
data: {
|
|||
|
|
innerValue: ''
|
|||
|
|
},
|
|||
|
|
observers: {
|
|||
|
|
// 监听父组件传入的value变化
|
|||
|
|
'value': function(val) {
|
|||
|
|
this.setData({ innerValue: val });
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
|
|||
|
|
methods: {
|
|||
|
|
// 输入变化时触发
|
|||
|
|
handleInputChange(e) {
|
|||
|
|
const value = e.detail.value;
|
|||
|
|
this.setData({ innerValue: value });
|
|||
|
|
|
|||
|
|
// 向父组件传递数据
|
|||
|
|
this.triggerEvent('change', {
|
|||
|
|
field: this.properties.field,
|
|||
|
|
value: value
|
|||
|
|
});
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
});
|