@aligov/components-exception
exception component
参数名 | 说明 | 必填 | 类型 | 默认值 | 备注 |
---|---|---|---|---|---|
type | 默认类型 | false | String | '' | NET_ERR 网络异常 PAGE_ERR 页面异常 SYS_ERR 系统异常 NO_DATA 暂无数据 NOT_FOUND 404 NO_PER 403 |
size | 大小 | false | String | 'large' | 现在只有 large 和 medium 两种类型 |
imgSrc | 图片链接 | false | String | 网络异常链接 | / |
title | 主标题 | false | String | '' | / |
subTitle | 副标题 | false | String | '' | / |
primaryBtnText | 主按钮文案 | false | String | '' | / |
secondaryBtnText | 副按钮文案 | false | String | '' | / |
link | 次链接文案 | false | String | '' | / |
onPrimaryClick | 主按钮点击 | false | ()=>{} | '' | / |
onSecondaryClick | 次按钮点击 | false | ()=>{} | '' | / |
onLinkClick | 次链接点击 | false | ()=>{} | '' | / |
type提供几组常用模式
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import {Table, Radio} from '@alifd/next'
import Exceptions from '@aligov/components-exception';
const list = ['NET_ERR', 'PAGE_ERR', 'SYS_ERR', 'NO_DATA', 'NOT_FOUND', 'NO_PER'];
class App extends Component {
constructor(props) {
super(props);
this.state={
type: 'NET_ERR'
}
this.onChange = this.onChange.bind(this);
}
onChange(value) {
this.setState({
type: value
});
console.log('onChange', value);
}
render() {
return (
<div>
<Radio.Group dataSource={list} onChange={this.onChange} value={this.state.type}/>
<Exceptions type={this.state.type} />
</div>
);
}
}
ReactDOM.render((
<App />
), mountNode);
用size指定尺寸,默认large
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import {Table, Radio} from '@alifd/next'
import Exceptions from '@aligov/components-exception';
const list = ['large', 'medium'];
class App extends Component {
constructor(props) {
super(props);
this.state={
size: 'large'
}
this.onChange = this.onChange.bind(this);
}
onChange(value) {
this.setState({
size: value
});
console.log('onChange', value);
}
render() {
return (
<div>
<Radio.Group dataSource={list} onChange={this.onChange} value={this.state.size}/>
<Exceptions size={this.state.size} type="NO_PER"/>
</div>
);
}
}
ReactDOM.render((
<App />
), mountNode);
可以自定义主标题,副标题,主按钮,副按钮,链接文案,会覆盖type文案
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import {Table} from '@alifd/next'
import Exceptions from '@aligov/components-exception';
class App extends Component {
onPrimaryClick() {
console.log('onPrimaryClick')
}
onSecondaryClick() {
console.log('onSecondaryClick')
}
onLinkClick() {
console.log('onLinkClick')
}
render() {
return (
<div>
<Exceptions type="NO_DATA" subTitle="自定义文案" primaryBtnText="确认" secondaryBtnText="取消" onPrimaryClick={this.onPrimaryClick} onSecondaryClick={this.onSecondaryClick} size='medium'/>
</div>
);
}
}
ReactDOM.render((
<App />
), mountNode);
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
import {Table} from '@alifd/next'
import Exceptions from '@aligov/components-exception';
class App extends Component {
onPrimaryClick() {
console.log('onPrimaryClick')
}
onSecondaryClick() {
console.log('onSecondaryClick')
}
onLinkClick() {
console.log('onLinkClick')
}
render() {
return (
<div>
<Table dataSource={[]} emptyContent={<Exceptions type="NO_DATA" onPrimaryClick={this.onPrimaryClick} onSecondaryClick={this.onSecondaryClick} onLinkClick={this.onLinkClick} size='medium'/>}>
<Table.Column title="Id" htmlTitle="Unique Id" dataIndex="id"/>
<Table.Column title="Title" dataIndex="title.name" />
<Table.Column title="Time" dataIndex="time"/>
</Table>
</div>
);
}
}
ReactDOM.render((
<App />
), mountNode);