Skip to content

Commit

Permalink
fix(button): 小程序button开放能力回调
Browse files Browse the repository at this point in the history
  • Loading branch information
cos2004 committed Sep 28, 2018
1 parent 8c4fea3 commit 1d6811d
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 19 deletions.
42 changes: 24 additions & 18 deletions src/components/button/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,6 @@ export default class AtButton extends AtComponent {
super(...arguments)
this.state = {
isWEAPP: Taro.getEnv() === Taro.ENV_TYPE.WEAPP,
BUTTON_PROPS_FUNC: {
ONGETUSERINFO: 'onGetUserInfo',
ONGETPHONENUMBER: 'onGetPhoneNumber',
ONCONTACT: 'onContact',
ONERROR: 'onError',
ONOPENSETTING: 'onOpenSetting'
}
}
}

Expand All @@ -39,11 +32,25 @@ export default class AtButton extends AtComponent {
}
}

onButtonCall () {
const _arg = [...arguments]
const type = _arg.shift()
if (!type || this.props.disabled) return
this.props[type] && this.props[type](..._arg)
onGetUserInfo () {
console.log('getuserinfo', arguments)
this.props.onGetUserInfo && this.props.onGetUserInfo(...arguments)
}

onContact () {
this.props.onContact && this.props.onContact(...arguments)
}

onGetPhoneNumber () {
this.props.onGetPhoneNumber && this.props.onGetPhoneNumber(...arguments)
}

onError () {
this.props.onError && this.props.onError(...arguments)
}

onOpenSetting () {
this.props.onOpenSetting && this.props.onOpenSetting(...arguments)
}

render () {
Expand All @@ -67,7 +74,6 @@ export default class AtButton extends AtComponent {
} = this.props
const {
isWEAPP,
BUTTON_PROPS_FUNC,
} = this.state
let rootClassName = ['at-button']
const sizeClass = SIZE_CLASS[size] || ''
Expand Down Expand Up @@ -100,11 +106,11 @@ export default class AtButton extends AtComponent {
sendMessageImg={sendMessageImg}
showMessageCard={showMessageCard}
appParameter={appParameter}
onGetUserInfo={this.onButtonCall.bind(this, BUTTON_PROPS_FUNC.ONGETUSERINFO)}
onGetPhoneNumber={this.onButtonCall.bind(this, BUTTON_PROPS_FUNC.ONGETPHONENUMBER)}
onOpenSetting={this.onButtonCall.bind(this, BUTTON_PROPS_FUNC.ONOPENSETTING)}
onError={this.onButtonCall.bind(this, BUTTON_PROPS_FUNC.ONERROR)}
onContact={this.onButtonCall.bind(this, BUTTON_PROPS_FUNC.ONCONTACT)}
onGetUserInfo={this.onGetUserInfo.bind(this)}
onGetPhoneNumber={this.onGetPhoneNumber.bind(this)}
onOpenSetting={this.onOpenSetting.bind(this)}
onError={this.onError.bind(this)}
onContact={this.onContact.bind(this)}
>
</Button>}
{component}<View className='at-button__text'>{this.props.children}</View>
Expand Down
6 changes: 5 additions & 1 deletion src/pages/basic/button/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,10 @@ export default class ButtonPage extends Taro.Component {
}
}

onContact () {
console.log('呼起客服回调')
}

render () {
return (
<View className='page'>
Expand Down Expand Up @@ -171,7 +175,7 @@ export default class ButtonPage extends Taro.Component {
<AtButton openType='share' type='primary' onClick={this.onButtonClick.bind(this, '打开分享(仅小程序版支持)')}>分享</AtButton>
</View>
<View className='btn-item'>
<AtButton type='secondary' openType='contact' onClick={this.onButtonClick.bind(this, '打开客服(仅小程序版支持)')}>联系 Taro UI 客服</AtButton>
<AtButton type='secondary' openType='contact' onClick={this.onButtonClick.bind(this, '打开客服(仅小程序版支持)')} onContact={this.onContact.bind(this)}>联系 Taro UI 客服</AtButton>
</View>
</View>
</View>
Expand Down

0 comments on commit 1d6811d

Please sign in to comment.