我想将这些函数合并成一个函数,我可以传递两个属性,表单和字段。如何将这些函数合并到具有属性的单个函数中?
_last_name(){
this.refs.patient.refs.input.refs.last_name.refs.input.focus()
},
_phone(){
this.refs.contact.refs.input.refs.phone.refs.input.focus()
},
_email(){
this.refs.contact.refs.input.refs.email.refs.input.focus()
},
_street_address(){
this.refs.contact.refs.input.refs.street_address.refs.input.focus()
},
_suite_or_apt(){
this.refs.contact.refs.input.refs.suite_or_apt.refs.input.focus()
},
_city(){
this.refs.contact.refs.input.refs.city.refs.input.focus()
},
_state(){
this.refs.contact.refs.input.refs.state.refs.input.focus()
},
_zipcode(){
this.refs.contact.refs.input.refs.zipcode.refs.input.focus()
},
我已经试过这一点,但它似乎没有这样的伎俩:
_focus_on(form, field){
this.refs.form.refs.input.refs.field.refs.input.focus()
}
我认为这只是一个语法问题。
为了通过你需要使用“括号符号”名称存取权限一个对象的属性。所以'foo.bar'转换为'foo ['bar']'。现在,而不是“bar”,你可以传递一个变量。在你的情况下,它会是'this.refs [form] .refs.input.refs [field] .refs.input.focus()'。 –