diff --git a/doc/bird-button.md b/doc/bird-button.md index 5fbbae4..65c3d82 100644 --- a/doc/bird-button.md +++ b/doc/bird-button.md @@ -10,15 +10,15 @@ bird-button是基于react antd的Button组件进行封装的支持权限控制 ## 使用方式 ``` -测试按钮 +测试按钮 ``` ## API -除permissionName外属性都会渲染至antd的Button组件 +除permission外属性都会渲染至antd的Button组件 参数 | 说明 | 类型 | 默认值 ---|---|---|--- -permissionName | 所需权限名 | string | '' +permission | 所需权限名 | string | '' -默认permissionName为'',表示不验证权限。当permissionName有值时则验证当前用户是否拥有该权限,有则显示。 +默认permission为'',表示不验证权限。当permission有值时则验证当前用户是否拥有该权限,有则显示。 diff --git a/src/components/Form/BirdButton.js b/src/components/Form/BirdButton.js index 1fd77b7..155b3bc 100644 --- a/src/components/Form/BirdButton.js +++ b/src/components/Form/BirdButton.js @@ -11,10 +11,10 @@ class BirdButton extends React.Component { constructor(props) { super(props); - const permissionName = this.props.permissionName; + const permission = this.props.permission; this.state = { - hasPermission: permissionName === '' || permission.check(permissionName) + hasPermission: permission === '' || permission.check(permission) } } @@ -24,7 +24,7 @@ class BirdButton extends React.Component { render() { if (this.state.hasPermission) { let props = deepClone(this.props); - delete props.permissionName; + delete props.permission; return {this.props.children} @@ -36,11 +36,11 @@ class BirdButton extends React.Component { } BirdButton.propTypes = { - permissionName:PropTypes.string + permission:PropTypes.string }; BirdButton.defaultProps = { - permissionName:'' + permission:'' }; export default BirdButton; diff --git a/src/components/Grid/BirdGrid.js b/src/components/Grid/BirdGrid.js index 620657a..d7df4e2 100644 --- a/src/components/Grid/BirdGrid.js +++ b/src/components/Grid/BirdGrid.js @@ -53,7 +53,7 @@ class BirdGrid extends React.Component { } /* 初始化渲染执行之前执行 */ - componentWillMount () { + componentDidMount () { let gridOption = this.props.gridOption; let p = gridOption.permission; let tp = {}; @@ -489,7 +489,7 @@ class BirdGrid extends React.Component { action.onClick(checkedValues, checkedDatas); }}>{action.name} : - { let primaryKey = self.state.primaryKey; let checkedValues = self.state.checkedValues; diff --git a/src/models/app.js b/src/models/app.js index 874f054..48f0f86 100644 --- a/src/models/app.js +++ b/src/models/app.js @@ -4,7 +4,7 @@ import { routerRedux } from 'dva/router' import { parse } from 'qs' import config from 'config' -import {permission} from 'utils' +import { permission } from 'utils' import { query, logout } from 'services/app' import * as menusService from 'services/menus' import * as permissionsService from 'services/permissions' @@ -34,7 +34,7 @@ export default { }, subscriptions: { - setupHistory ({ dispatch, history }) { + setupHistory({ dispatch, history }) { history.listen((location) => { dispatch({ type: 'updateState', @@ -46,7 +46,7 @@ export default { }) }, - setup ({ dispatch }) { + setup({ dispatch }) { dispatch({ type: 'query' }) let tid window.onresize = () => { @@ -60,7 +60,7 @@ export default { }, effects: { - * query ({ + * query({ payload, }, { call, put, select }) { const { success, user } = yield call(query, payload) @@ -95,27 +95,31 @@ export default { } }, - * logout ({ + * logout({ payload, }, { call, put }) { const data = yield call(logout, parse(payload)) if (data.success) { - yield put({ type: 'updateState', payload: { - user: {}, - menu: [{ - id: 1, - icon: 'laptop', - name: 'Dashboard', - router: '/dashboard', - }], - }}) + yield put({ + type: 'updateState', payload: { + user: {}, + menu: [ + { + id: 1, + icon: 'laptop', + name: 'Dashboard', + url: '/dashboard' + }, + ], + } + }) yield put({ type: 'query' }) } else { throw (data) } }, - * changeNavbar (action, { put, select }) { + * changeNavbar(action, { put, select }) { const { app } = yield (select(_ => _)) const isNavbar = document.body.clientWidth < 769 if (isNavbar !== app.isNavbar) { @@ -132,7 +136,7 @@ export default { } }, - switchSider (state) { + switchSider(state) { window.localStorage.setItem(`${prefix}siderFold`, !state.siderFold) return { ...state, @@ -140,7 +144,7 @@ export default { } }, - switchTheme (state) { + switchTheme(state) { window.localStorage.setItem(`${prefix}darkTheme`, !state.darkTheme) return { ...state, @@ -148,21 +152,21 @@ export default { } }, - switchMenuPopver (state) { + switchMenuPopver(state) { return { ...state, menuPopoverVisible: !state.menuPopoverVisible, } }, - handleNavbar (state, { payload }) { + handleNavbar(state, { payload }) { return { ...state, isNavbar: payload, } }, - handleNavOpenKeys (state, { payload: navOpenKeys }) { + handleNavOpenKeys(state, { payload: navOpenKeys }) { return { ...state, ...navOpenKeys, diff --git a/src/pages/demo/bird-button.js b/src/pages/demo/bird-button.js index 2cebe21..d759d5f 100644 --- a/src/pages/demo/bird-button.js +++ b/src/pages/demo/bird-button.js @@ -13,9 +13,9 @@ class BirdButtonDemoPage extends React.Component { render() { return ( - 权限按钮 + 权限按钮 - 除permissionName外,其他api与antd的Button组件完全一致 + 除permission外,其他api与antd的Button组件完全一致 )