components-preview.vue 20 KB

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