components-preview.vue 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539
  1. <style lang="scss">
  2. .component-preview {
  3. padding-right: 10px;
  4. &:last-of-type {
  5. padding-bottom: 20px;
  6. }
  7. h4 {
  8. font-size: 20px;
  9. margin: 40px 0 20px;
  10. color: #909399
  11. }
  12. .demo-item {
  13. margin-top: 10px;
  14. margin-right: 40px;
  15. }
  16. .demo-line {
  17. margin: 15px 0;
  18. }
  19. .el-carousel__item:nth-child(2n) {
  20. background-color: #99a9bf;
  21. }
  22. .el-carousel__item:nth-child(2n + 1) {
  23. background-color: #d3dce6;
  24. }
  25. .el-avatar:not(:last-child) {
  26. margin-right: 20px;
  27. }
  28. .avatar-demo {
  29. display: flex;
  30. align-items: center;
  31. }
  32. }
  33. </style>
  34. <template>
  35. <div class="component-preview">
  36. <h4>Button</h4>
  37. <el-row class="demo-line">
  38. <el-button>Default</el-button>
  39. <el-button type="primary">Primary</el-button>
  40. <el-button type="success">Success</el-button>
  41. <el-button type="info">Info</el-button>
  42. <el-button type="warning">Warning</el-button>
  43. <el-button type="danger">Danger</el-button>
  44. </el-row>
  45. <el-row class="demo-line">
  46. <el-button plain>Plain</el-button>
  47. <el-button type="primary" plain>Primary</el-button>
  48. <el-button type="success" plain>Success</el-button>
  49. <el-button type="info" plain>Info</el-button>
  50. <el-button type="warning" plain>Warning</el-button>
  51. <el-button type="danger" plain>Danger</el-button>
  52. </el-row>
  53. <el-row class="demo-line">
  54. <el-button round>Round</el-button>
  55. <el-button type="primary" round>Primary</el-button>
  56. <el-button type="success" round>Success</el-button>
  57. <el-button type="info" round>Info</el-button>
  58. <el-button type="warning" round>Warning</el-button>
  59. <el-button type="danger" round>Danger</el-button>
  60. </el-row>
  61. <el-row class="demo-line">
  62. <el-button icon="el-icon-search" circle></el-button>
  63. <el-button type="primary" icon="el-icon-edit" circle></el-button>
  64. <el-button type="success" icon="el-icon-check" circle></el-button>
  65. <el-button type="info" icon="el-icon-message" circle></el-button>
  66. <el-button type="warning" icon="el-icon-star-off" circle></el-button>
  67. <el-button type="danger" icon="el-icon-delete" circle></el-button>
  68. </el-row>
  69. <el-row class="demo-line">
  70. <el-button>Default</el-button>
  71. <el-button size="medium">Medium</el-button>
  72. <el-button size="small">Small</el-button>
  73. <el-button size="mini">Mini</el-button>
  74. </el-row>
  75. <h4>Radio</h4>
  76. <el-row class="demo-line">
  77. <el-radio v-model="radio" label="1">Option A</el-radio>
  78. <el-radio v-model="radio" label="2">Option B</el-radio>
  79. </el-row>
  80. <el-row class="demo-line">
  81. <el-radio-group v-model="radio1">
  82. <el-radio-button label="New York"></el-radio-button>
  83. <el-radio-button label="Washington"></el-radio-button>
  84. <el-radio-button label="Los Angeles"></el-radio-button>
  85. <el-radio-button label="Chicago"></el-radio-button>
  86. </el-radio-group>
  87. </el-row>
  88. <el-row class="demo-line">
  89. <el-radio v-model="radio2" label="1" border>Option A</el-radio>
  90. <el-radio v-model="radio2" label="2" border>Option B</el-radio>
  91. </el-row>
  92. <h4>Checkbox</h4>
  93. <el-row class="demo-line">
  94. <el-checkbox v-model="checked">Option</el-checkbox>
  95. </el-row>
  96. <el-row class="demo-line">
  97. <el-checkbox-group v-model="checked1">
  98. <el-checkbox-button v-for="city in ['Shanghai', 'Beijing', 'Guangzhou', 'Shenzhen']" :label="city" :key="city">{{city}}</el-checkbox-button>
  99. </el-checkbox-group>
  100. </el-row>
  101. <el-row class="demo-line">
  102. <el-checkbox v-model="checked2" label="Option1" border></el-checkbox>
  103. </el-row>
  104. <h4>Input</h4>
  105. <el-row style="width: 180px">
  106. <el-input placeholder="Please input" v-model="input"></el-input>
  107. </el-row>
  108. <h4>InputNumber</h4>
  109. <el-row>
  110. <el-input-number v-model="inputNumber" :min="1" :max="10"></el-input-number>
  111. </el-row>
  112. <h4>Select</h4>
  113. <el-row>
  114. <el-select v-model="selectValue" placeholder="Select">
  115. <el-option
  116. v-for="item in selectOptions"
  117. :key="item.value"
  118. :label="item.label"
  119. :value="item.value"
  120. ></el-option>
  121. </el-select>
  122. </el-row>
  123. <h4>Cascader</h4>
  124. <el-row>
  125. <el-cascader :options="cascadeOptions" v-model="cascaderValue"></el-cascader>
  126. </el-row>
  127. <h4>Switch</h4>
  128. <el-row>
  129. <el-switch v-model="switchValue"></el-switch>
  130. <el-switch
  131. style="margin-left: 40px"
  132. v-model="switchValue"
  133. active-text="Pay by month"
  134. inactive-text="Pay by year">
  135. </el-switch>
  136. </el-row>
  137. <h4>Slider</h4>
  138. <el-row style="width: 380px">
  139. <el-slider v-model="slider"></el-slider>
  140. </el-row>
  141. <h4>DatePicker</h4>
  142. <el-row>
  143. <el-date-picker v-model="datePicker" type="date"></el-date-picker>
  144. </el-row>
  145. <h4>Rate</h4>
  146. <el-row>
  147. <el-rate class="demo-line" v-model="rate"></el-rate>
  148. <el-rate
  149. class="demo-line"
  150. v-model="rate"
  151. show-score
  152. text-color="#ff9900"
  153. score-template="{value} points">
  154. </el-rate>
  155. </el-row>
  156. <h4>Transfer</h4>
  157. <el-row>
  158. <el-transfer v-model="transfer" filterable :data="transferData">
  159. <el-button class="transfer-footer" slot="left-footer" size="small">Operation</el-button>
  160. <el-button class="transfer-footer" slot="right-footer" size="small">Operation</el-button>
  161. </el-transfer>
  162. </el-row>
  163. <h4>Table</h4>
  164. <el-row>
  165. <el-table :data="tableData" style="width: 70%">
  166. <el-table-column prop="date" label="Date" width="180"></el-table-column>
  167. <el-table-column prop="name" label="Name" width="180"></el-table-column>
  168. <el-table-column prop="address" label="Address"></el-table-column>
  169. </el-table>
  170. </el-row>
  171. <h4>Tag</h4>
  172. <el-row>
  173. <el-tag class="demo-item" closable>Tag One</el-tag>
  174. <el-tag class="demo-item" closable type="success">Tag Two</el-tag>
  175. <el-tag class="demo-item" closable type="info">Tag Three</el-tag>
  176. <el-tag class="demo-item" closable type="warning">Tag Four</el-tag>
  177. <el-tag class="demo-item" closable type="danger">Tag Five</el-tag>
  178. </el-row>
  179. <h4>Progress</h4>
  180. <el-row style="width: 380px">
  181. <el-progress :percentage="20"></el-progress>
  182. <el-progress :percentage="60" status="exception"></el-progress>
  183. <el-progress :percentage="100" status="success"></el-progress>
  184. </el-row>
  185. <h4>Tree</h4>
  186. <el-row style="width: 380px">
  187. <el-tree :data="treeData" :props="defaultTreeProps" ></el-tree>
  188. </el-row>
  189. <h4>Pagination</h4>
  190. <el-row>
  191. <el-pagination layout="prev, pager, next" :total="1000"></el-pagination>
  192. </el-row>
  193. <h4>Badge</h4>
  194. <el-row>
  195. <el-badge :value="12" class="demo-item">
  196. <el-button size="small">comments</el-button>
  197. </el-badge>
  198. <el-badge :value="3" class="demo-item">
  199. <el-button size="small">replies</el-button>
  200. </el-badge>
  201. <el-badge :value="1" class="demo-item" type="primary">
  202. <el-button size="small">comments</el-button>
  203. </el-badge>
  204. <el-badge :value="2" class="demo-item" type="warning">
  205. <el-button size="small">replies</el-button>
  206. </el-badge>
  207. </el-row>
  208. <h4>Alert</h4>
  209. <el-row style="width: 380px;">
  210. <el-alert class="demo-item" title="success alert" type="success" show-icon></el-alert>
  211. <el-alert class="demo-item" title="info alert" type="info" close-text="Gotcha" show-icon></el-alert>
  212. <el-alert class="demo-item" title="warning alert" type="warning" show-icon></el-alert>
  213. <el-alert
  214. class="demo-item"
  215. title="error alert"
  216. type="error"
  217. description="more text description"
  218. show-icon>
  219. </el-alert>
  220. </el-row>
  221. <h4>Loading</h4>
  222. <el-row>
  223. <el-table :data="tableData" style="width: 90%" v-loading="true">
  224. <el-table-column prop="date" label="Date" width="180"></el-table-column>
  225. <el-table-column prop="name" label="Name" width="180"></el-table-column>
  226. <el-table-column prop="address" label="Address"></el-table-column>
  227. </el-table>
  228. </el-row>
  229. <h4>Message</h4>
  230. <el-row>
  231. <div role="alert" class="demo-item el-message el-message--success el-message-fade-leave-active el-message-fade-leave-to" style="top: 0;left: 0;width: 100px; opacity: 1; position: relative;transform: none;"><i class="el-message__icon el-icon-success"></i><p class="el-message__content">Congrats, this is a success message.</p><!----></div>
  232. <div role="alert" class="demo-item el-message el-message--warning el-message-fade-leave-active el-message-fade-leave-to" style="top: 0;left: 0;width: 100px; opacity: 1; position: relative;transform: none;"><i class="el-message__icon el-icon-warning"></i><p class="el-message__content">Warning, this is a warning message.</p><!----></div>
  233. <div role="alert" class="demo-item el-message el-message--info el-message-fade-leave-active el-message-fade-leave-to" style="top: 0;left: 0;width: 100px; opacity: 1; position: relative;transform: none;"><i class="el-message__icon el-icon-info"></i><p class="el-message__content">This is a message.</p><!----></div>
  234. <div role="alert" class="demo-item el-message el-message--error is-closable el-message-fade-leave-active el-message-fade-leave-to" style="top: 0;left: 0;width: 100px; opacity: 1; position: relative;transform: none;"><i class="el-message__icon el-icon-error"></i><p class="el-message__content">Oops, this is a error message.</p><i class="el-message__closeBtn el-icon-close"></i></div>
  235. </el-row>
  236. <h4>MessageBox</h4>
  237. <el-row>
  238. <div class="el-message-box"><div class="el-message-box__header"><div class="el-message-box__title"><!----><span>Warning</span></div><button type="button" aria-label="Close" class="el-message-box__headerbtn"><i class="el-message-box__close el-icon-close"></i></button></div><div class="el-message-box__content"><div class="el-message-box__status el-icon-warning"></div><div class="el-message-box__message"><p>This will permanently delete the file. Continue?</p></div><div class="el-message-box__input" style="display: none;"><div class="el-input"><!----><input type="text" autocomplete="off" placeholder="" class="el-input__inner"><!----><!----><!----></div><div class="el-message-box__errormsg" style="visibility: hidden;"></div></div></div><div class="el-message-box__btns"><button type="button" class="el-button el-button--default el-button--small"><!----><!----><span>
  239. Cancel
  240. </span></button><button type="button" class="el-button el-button--default el-button--small el-button--primary "><!----><!----><span>
  241. OK
  242. </span></button></div></div>
  243. </el-row>
  244. <h4>Notification</h4>
  245. <el-row>
  246. <div role="alert" class="el-notification right" style="position: relative; left: 0;"><!----><div class="el-notification__group"><span class="el-notification__title">Notification</span><div class="el-notification__content"><div>This is a message </div></div><div class="el-notification__closeBtn el-icon-close"></div></div></div>
  247. </el-row>
  248. <h4>Menu</h4>
  249. <el-row>
  250. <el-menu :default-active="menu" class="el-menu-demo" mode="horizontal">
  251. <el-menu-item index="1">Processing Center</el-menu-item>
  252. <el-submenu index="2">
  253. <template slot="title">Workspace</template>
  254. <el-menu-item index="2-1">item one</el-menu-item>
  255. <el-menu-item index="2-2">item two</el-menu-item>
  256. <el-menu-item index="2-3">item three</el-menu-item>
  257. <el-submenu index="2-4">
  258. <template slot="title">item four</template>
  259. <el-menu-item index="2-4-1">item one</el-menu-item>
  260. <el-menu-item index="2-4-2">item two</el-menu-item>
  261. <el-menu-item index="2-4-3">item three</el-menu-item>
  262. </el-submenu>
  263. </el-submenu>
  264. <el-menu-item index="3" disabled>Info</el-menu-item>
  265. <el-menu-item index="4">
  266. <a href="https://www.ele.me" target="_blank">Orders</a>
  267. </el-menu-item>
  268. </el-menu>
  269. <el-menu
  270. default-active="2"
  271. class="demo-line"
  272. >
  273. <el-submenu index="1">
  274. <template slot="title">
  275. <i class="el-icon-location"></i>
  276. <span>Navigator One</span>
  277. </template>
  278. <el-menu-item-group title="Group One">
  279. <el-menu-item index="1-1">item one</el-menu-item>
  280. <el-menu-item index="1-2">item one</el-menu-item>
  281. </el-menu-item-group>
  282. <el-menu-item-group title="Group Two">
  283. <el-menu-item index="1-3">item three</el-menu-item>
  284. </el-menu-item-group>
  285. <el-submenu index="1-4">
  286. <template slot="title">item four</template>
  287. <el-menu-item index="1-4-1">item one</el-menu-item>
  288. </el-submenu>
  289. </el-submenu>
  290. <el-menu-item index="2">
  291. <i class="el-icon-menu"></i>
  292. <span>Navigator Two</span>
  293. </el-menu-item>
  294. <el-menu-item index="3" disabled>
  295. <i class="el-icon-document"></i>
  296. <span>Navigator Three</span>
  297. </el-menu-item>
  298. <el-menu-item index="4">
  299. <i class="el-icon-setting"></i>
  300. <span>Navigator Four</span>
  301. </el-menu-item>
  302. </el-menu>
  303. </el-row>
  304. <h4>Tabs</h4>
  305. <el-row>
  306. <el-tabs v-model="tab" class="demo-item">
  307. <el-tab-pane label="User" name="first">User</el-tab-pane>
  308. <el-tab-pane label="Config" name="second">Config</el-tab-pane>
  309. <el-tab-pane label="Role" name="third">Role</el-tab-pane>
  310. <el-tab-pane label="Task" name="fourth">Task</el-tab-pane>
  311. </el-tabs>
  312. <el-tabs type="card" class="demo-item">
  313. <el-tab-pane label="User">User</el-tab-pane>
  314. <el-tab-pane label="Config">Config</el-tab-pane>
  315. <el-tab-pane label="Role">Role</el-tab-pane>
  316. <el-tab-pane label="Task">Task</el-tab-pane>
  317. </el-tabs>
  318. </el-row>
  319. <h4>Dialog</h4>
  320. <el-row>
  321. <div role="dialog" aria-modal="true" aria-label="Tips" class="el-dialog" style="margin: 0"><div class="el-dialog__header"><span class="el-dialog__title">Tips</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><div class="el-dialog__body"><span>This is a message</span> </div><div class="el-dialog__footer"><span class="dialog-footer"><button type="button" class="el-button el-button--default"><!----><!----><span>Cancel</span></button> <button type="button" class="el-button el-button--primary"><!----><!----><span>Confirm</span></button></span></div></div>
  322. </el-row>
  323. <h4>Tooltip</h4>
  324. <el-row>
  325. <div role="tooltip" x-placement="top" class="el-tooltip__popper is-dark" style="position: relative; width: 40px;text-align: center;">Dark<div x-arrow="" class="popper__arrow"></div>
  326. </div>
  327. <div role="tooltip" x-placement="top" class="el-tooltip__popper is-light" style="margin-top: 10px;position: relative; width: 40px;text-align: center;">Light<div x-arrow="" class="popper__arrow"></div>
  328. </div>
  329. </el-row>
  330. <h4>Popover</h4>
  331. <el-row>
  332. <div role="tooltip" x-placement="top" id="el-popover-2936" aria-hidden="true" class="el-popover el-popper el-popover--plain" tabindex="0" style="width: 200px; position: relative; "><div class="el-popover__title">Title</div>this is content, this is content, this is content<div x-arrow="" class="popper__arrow"></div></div>
  333. </el-row>
  334. <h4>Card</h4>
  335. <el-row>
  336. <el-card class="box-card">
  337. <div slot="header" class="clearfix">
  338. <span>Card name</span>
  339. </div>
  340. </el-card>
  341. </el-row>
  342. <h4>Carousel</h4>
  343. <el-row>
  344. <el-carousel height="150px">
  345. <el-carousel-item v-for="item in 4" :key="item">
  346. <h3>{{ item }}</h3>
  347. </el-carousel-item>
  348. </el-carousel>
  349. </el-row>
  350. <h4>Collapse</h4>
  351. <el-row>
  352. <el-collapse v-model="collapse">
  353. <el-collapse-item title="Consistent" name="1">
  354. <div>Consistent with real life: in line with the process and logic of real life, and comply with languages and habits that the users are used to;</div>
  355. </el-collapse-item>
  356. <el-collapse-item title="Feedback" name="2">
  357. <div>Operation feedback: enable the users to clearly perceive their operations by style updates and interactive effects;</div>
  358. </el-collapse-item>
  359. </el-collapse>
  360. </el-row>
  361. <h4>Avatar</h4>
  362. <el-row class="demo-line avatar-demo">
  363. <el-avatar icon="el-icon-user-solid"/>
  364. <el-avatar> avatar </el-avatar>
  365. <el-avatar shape="square" fit="contain" :src="avatarData.url"></el-avatar>
  366. <el-avatar size="large"> large </el-avatar>
  367. <el-avatar size="medium"> medium </el-avatar>
  368. <el-avatar size="small"> small </el-avatar>
  369. </el-row>
  370. </div>
  371. </template>
  372. <script>
  373. export default {
  374. data() {
  375. return {
  376. radio: '1',
  377. radio1: 'Washington',
  378. radio2: '1',
  379. checked: true,
  380. checked1: ['Shanghai'],
  381. checked2: true,
  382. input: 'Element',
  383. inputNumber: 1,
  384. selectOptions: [
  385. {
  386. value: 'Option1',
  387. label: 'Option1'
  388. },
  389. {
  390. value: 'Option2',
  391. label: 'Option2'
  392. },
  393. {
  394. value: 'Option3',
  395. label: 'Option3'
  396. },
  397. {
  398. value: 'Option4',
  399. label: 'Option4'
  400. },
  401. {
  402. value: 'Option5',
  403. label: 'Option5'
  404. }
  405. ],
  406. selectValue: '',
  407. cascadeOptions: [
  408. {
  409. value: 'guide',
  410. label: 'Guide',
  411. children: [
  412. {
  413. value: 'disciplines',
  414. label: 'Disciplines',
  415. children: [
  416. {
  417. value: 'consistency',
  418. label: 'Consistency'
  419. },
  420. {
  421. value: 'feedback',
  422. label: 'Feedback'
  423. }
  424. ]
  425. }
  426. ]
  427. },
  428. {
  429. value: 'resource',
  430. label: 'Resource',
  431. children: [
  432. {
  433. value: 'axure',
  434. label: 'Axure Components'
  435. },
  436. {
  437. value: 'sketch',
  438. label: 'Sketch Templates'
  439. },
  440. {
  441. value: 'docs',
  442. label: 'Design Documentation'
  443. }
  444. ]
  445. }
  446. ],
  447. cascaderValue: [],
  448. switchValue: true,
  449. slider: 28,
  450. datePicker: '',
  451. rate: null,
  452. transferData: (() => {
  453. const data = [];
  454. for (let i = 1; i <= 15; i++) {
  455. data.push({
  456. key: i,
  457. label: `Option ${i}`,
  458. disabled: i % 4 === 0
  459. });
  460. }
  461. return data;
  462. })(),
  463. transfer: [1, 4],
  464. tableData: [
  465. {
  466. date: '2016-05-03',
  467. name: 'Tom',
  468. address: 'No. 189, Grove St, Los Angeles'
  469. },
  470. {
  471. date: '2016-05-02',
  472. name: 'Tom',
  473. address: 'No. 189, Grove St, Los Angeles'
  474. },
  475. {
  476. date: '2016-05-04',
  477. name: 'Tom',
  478. address: 'No. 189, Grove St, Los Angeles'
  479. },
  480. {
  481. date: '2016-05-01',
  482. name: 'Tom',
  483. address: 'No. 189, Grove St, Los Angeles'
  484. }
  485. ],
  486. menu: '1',
  487. tab: 'first',
  488. collapse: ['1'],
  489. treeData: [{
  490. label: 'Level one 1',
  491. children: [{
  492. label: 'Level two 1-1',
  493. children: [{
  494. label: 'Level three 1-1-1'
  495. }]
  496. }]
  497. }, {
  498. label: 'Level one 2',
  499. children: [{
  500. label: 'Level two 2-1',
  501. children: [{
  502. label: 'Level three 2-1-1'
  503. }]
  504. }, {
  505. label: 'Level two 2-2',
  506. children: [{
  507. label: 'Level three 2-2-1'
  508. }]
  509. }]
  510. }, {
  511. label: 'Level one 3',
  512. children: [{
  513. label: 'Level two 3-1',
  514. children: [{
  515. label: 'Level three 3-1-1'
  516. }]
  517. }, {
  518. label: 'Level two 3-2',
  519. children: [{
  520. label: 'Level three 3-2-1'
  521. }]
  522. }]
  523. }],
  524. defaultTreeProps: {
  525. children: 'children',
  526. label: 'label'
  527. },
  528. avatarData: {
  529. url: 'https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg'
  530. }
  531. };
  532. }
  533. };
  534. </script>