ant-design/components/locale-provider/demo/all.md
2016-03-10 10:32:50 +08:00

2.9 KiB

所有组件

  • order: 2

此处列出 Ant Design 中需要国际化支持的组件,你可以在演示里切换语言。


import { LocaleProvider, Pagination, DatePicker, TimePicker,
         Popconfirm, Table, Modal, Button, Select, Transfer } from 'antd';
import enUS from 'antd/lib/locale-provider/en_US';
const Option = Select.Option;

const columns = [{
  title: 'Name',
  dataIndex: 'name',
  filters: [{
    text: 'filter1',
    value: 'filter1',
  }],
}, {
  title: 'Age',
  dataIndex: 'age',
}];

const Page = React.createClass({
  getInitialState() {
    return {
      visible: false,
    };
  },
  showModal() {
    this.setState({ visible: true });
  },
  hideModal() {
    this.setState({ visible: false });
  },
  render() {
    const info = () => {
      Modal.info({
        title: 'some info',
        content: 'some info',
      });
    };
    const confirm = () => {
      Modal.confirm({
        title: 'some info',
        content: 'some info',
      });
    };
    return (
      <div className="locale-components">
        <div className="example">
          <Pagination defaultCurrent={1} total={50} showSizeChanger />
        </div>
        <div className="example">
          <DatePicker />
          <TimePicker />
          <Button type="primary" onClick={this.showModal}>Show Modal</Button>
          <Button onClick={info}>Show info</Button>
          <Button onClick={confirm}>Show confirm</Button>
          <Popconfirm title="Question?">
            <a href="#">Click to confirm</a>
          </Popconfirm>
        </div>
        <div className="example">
        <Transfer
          dataSource={[]}
          showSearch
          titles={['', '']}
          targetKeys={[]}
          render={item => item.title} />
        </div>
        <div className="example">
          <Table dataSource={[]} columns={columns} />
        </div>
        <Modal title="Locale Modal" visible={this.state.visible} onCancel={this.hideModal}>
          <p>Locale Modal</p>
        </Modal>
      </div>
    );
  }
});

const App = React.createClass({
  getInitialState() {
    return {
      locale: enUS,
    };
  },
  changeLocale(locale) {
    this.setState({ locale });
  },
  render() {
    return (
      <div>
        <div className="change-locale">
          <span>Change locale of components: </span>
          <Select defaultValue={enUS} onChange={this.changeLocale} dropdownMatchSelectWidth={false}>
            <Option value={enUS}>English</Option>
            <Option value={null}>中文</Option>
          </Select>
        </div>
        <LocaleProvider locale={this.state.locale}><Page /></LocaleProvider>
      </div>
    );
  }
});

ReactDOM.render(<App />, mountNode);
.locale-components {
  border-top: 1px solid #d9d9d9;
  padding-top: 16px;
}

.example {
  margin: 16px 0;
}

.example > * {
  margin-right: 8px;
}

.change-locale {
  margin-bottom: 16px;
}