components-preview.vue 20 KB

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