page.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import React from 'react';
  2. import './index.less';
  3. import { Drawer, Tabs } from 'antd-mobile';
  4. import Page from '@src/containers/Page';
  5. import Assets from '@src/components/Assets';
  6. import { CourseCoBlock } from '../../../components/Block';
  7. import { SpecialRadioGroup } from '../../../components/Radio';
  8. import Button from '../../../components/Button';
  9. import Checkbox from '../../../components/CheckBox';
  10. export default class extends Page {
  11. init() {}
  12. renderView() {
  13. const { filter } = this.state;
  14. return (
  15. <Drawer
  16. style={{ minHeight: document.documentElement.clientHeight }}
  17. position="right"
  18. open={filter}
  19. sidebar={this.renderFilter()}
  20. onOpenChange={isOpen => this.setState({ filter: isOpen })}
  21. >
  22. <div className="top">
  23. <Tabs tabs={[{ title: '单次', key: 'd' }, { title: '套餐', key: 'a' }]} />
  24. <div className="right" onClick={() => this.setState({ filter: true })}>
  25. 筛选
  26. <Assets name="screen" />
  27. </div>
  28. </div>
  29. <div className="list">
  30. <CourseCoBlock theme="not" />
  31. <CourseCoBlock />
  32. <CourseCoBlock theme="end" />
  33. <CourseCoBlock />
  34. <CourseCoBlock />
  35. <CourseCoBlock />
  36. <CourseCoBlock />
  37. </div>
  38. </Drawer>
  39. );
  40. }
  41. renderFilter() {
  42. return (
  43. <div className="filter">
  44. <div className="body">
  45. <div className="sub">
  46. <div className="title">筛选学科</div>
  47. <div className="item">
  48. <div className="label left">长难句</div>
  49. <div className="value right">
  50. <Checkbox />
  51. </div>
  52. </div>
  53. <div className="item">
  54. <div className="label">语文 Verbal</div>
  55. <div className="value">
  56. <SpecialRadioGroup
  57. list={[
  58. { key: '1', label: '语法 SC' },
  59. { key: '2', label: '阅读 RC' },
  60. { key: '3', label: '逻辑 CR' },
  61. ]}
  62. />
  63. </div>
  64. </div>
  65. <div className="item">
  66. <div className="label">数学 Quant</div>
  67. </div>
  68. </div>
  69. </div>
  70. <div className="footer">
  71. <Button radius width={90}>
  72. 确定
  73. </Button>
  74. </div>
  75. </div>
  76. );
  77. }
  78. }