• UI组件库Kendo UI for Vue原生组件中文教程 - 如何开始制作动画


    KendoVue动画使用TransitionGroup组件为出现、进入或退出视口的元素设置动画。

    KendoVue Animation组件是Kendo UI for Vue的一部分,它通过kendo-vue-animation 包下的 NPM 分发。

    Animations Package是Kendo UI for Vue的一部分,这是一个专业级的UI库,包含90多个组件,用于构建现代且功能丰富的应用程序。

    Kendo UI最新官方正式版下载

    基本用法

    以下示例演示了 Fade、Expand、Push、Reveal 和 Slide 动画的实际应用。

    main.vue

    1. <template>
    2. <div class="example-wrapper row">
    3. <div class="col-xs-12 col-sm-6 example-config">
    4. <input
    5. @click="handleSelect"
    6. id="slide"
    7. class="k-radio k-radio-md"
    8. name="type"
    9. type="radio"
    10. value="slide"
    11. :checked="true"
    12. />
    13. <label for="slide" class="k-radio-label">
    14.  Slide
    15. </label>
    16. <br />
    17. <input
    18. @click="handleSelect"
    19. name="type"
    20. id="push"
    21. class="k-radio k-radio-md"
    22. type="radio"
    23. value="push"
    24. />
    25. <label for="push" class="k-radio-label">
    26.  Push
    27. </label>
    28. <br />
    29. <input
    30. @click="handleSelect"
    31. name="type"
    32. id="expand"
    33. class="k-radio k-radio-md"
    34. type="radio"
    35. value="expand"
    36. />
    37. <label for="expand" class="k-radio-label">
    38.  Expand
    39. </label>
    40. <br />
    41. <input
    42. @click="handleSelect"
    43. name="type"
    44. id="fade"
    45. class="k-radio k-radio-md"
    46. type="radio"
    47. value="fade"
    48. />
    49. <label for="fade" class="k-radio-label">
    50.  Fade
    51. </label>
    52. <br />
    53. <input
    54. @click="handleSelect"
    55. name="type"
    56. id="zoom"
    57. class="k-radio k-radio-md"
    58. type="radio"
    59. value="zoom"
    60. />
    61. <label for="zoom" class="k-radio-label">
    62.  Zoom
    63. </label>
    64. <br />
    65. <input
    66. @click="handleSelect"
    67. name="type"
    68. id="reveal"
    69. class="k-radio k-radio-md"
    70. type="radio"
    71. value="reveal"
    72. />
    73. <label for="reveal" class="k-radio-label">
    74.  Reveal
    75. </label>
    76. <br />
    77. <kbutton type="submit" @click="animate">Animate</kbutton>
    78. </div>
    79. <div class="col-xs-12 col-sm-6 example-col">
    80. <Expand :appear="show" v-if="animationType === 'expand'">
    81. <div class="content">
    82. Content
    83. </div >
    84. </Expand>
    85. <Fade :appear="show" v-else-if="animationType === 'fade'">
    86. <div class="content">
    87. Content
    88. </div >
    89. </Fade>
    90. <Push :appear="show" v-else-if="animationType === 'push'">
    91. <div class="content">
    92. Content
    93. </div >
    94. </Push>
    95. <Reveal :appear="show" v-else-if="animationType === 'reveal'">
    96. <div class="content">
    97. Content
    98. </div >
    99. </Reveal>
    100. <Zoom :appear="show" v-else-if="animationType === 'zoom'">
    101. <div class="content">
    102. Content
    103. </div >
    104. </Zoom>
    105. <Slide :appear="show" v-else-if="animationType === 'slide'">
    106. <div class="content">
    107. Content
    108. </div >
    109. </Slide>
    110. </div>
    111. </div>
    112. </template>
    113. <script>
    114. import './styles.css';
    115. import { Expand, Fade, Push, Reveal, Slide, Zoom } from '@progress/kendo-vue-animation';
    116. import { Button } from '@progress/kendo-vue-buttons';
    117. export default {
    118. components: {
    119. 'Expand': Expand,
    120. 'Fade': Fade,
    121. 'Push': Push,
    122. 'Reveal': Reveal,
    123. 'Zoom': Zoom,
    124. 'Slide': Slide,
    125. 'kbutton': Button
    126. },
    127. data: function () {
    128. return {
    129. animationType: 'slide',
    130. show: false
    131. };
    132. },
    133. methods:{
    134. animate(){
    135. this.show = !this.show;
    136. },
    137. handleSelect(event) {
    138. this.animationType = event.target.value;
    139. }
    140. }
    141. }
    142. </script>

    main.js

    1. import { createApp } from 'vue'
    2. import App from './main.vue'
    3. createApp(App).mount('#app')

    style.css

    1. .content {
    2. width: 100px;
    3. padding: 10px;
    4. color: #787878;
    5. background-color: #fcf7f8;
    6. font-size: 13px;
    7. font-family: Helvetica, Arial, sans-serif;
    8. letter-spacing: 1px;
    9. text-align: center;
    10. border: 1px solid rgba(0,0,0,.05);
    11. }
    12. .k-radio-label {
    13. line-height: 1.2;
    14. margin-bottom: .5rem;
    15. }

    安装

    要初始化动画,可以:

    • 使用 CDN 服务,或
    • 使用 Webpack

    使用 CDN

    要将 Kendo UI for Vue Native Animation 组件与 CDN 一起使用,请按照以下步骤操作:

    1. 引用动画包。

    <script src="https://unpkg.com/@progress/kendo-vue-animation@latest/dist/cdn/js/kendo-vue-animation.js"></script>

    2. 引用其中一个Kendo UI主题来为您的组件设置样式。

    1. // Load the Kendo Default Theme
    2. <link rel="stylesheet" href="https://unpkg.com/@progress/kendo-theme-default@latest/dist/all.css">
    3. // Load the Kendo Bootstrap Theme
    4. <link rel="stylesheet" href="https://unpkg.com/@progress/kendo-theme-bootstrap@latest/dist/all.css">
    5. <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    6. // To load the Kendo Material Theme
    7. <link rel="stylesheet" href="https://unpkg.com/@progress/kendo-theme-material@latest/dist/all.css">

    使用 Webpack 初始化

    1. 下载并安装软件包,使用 Node.js v5.0.0 或更高版本。

    npm install --save @progress/kendo-vue-animation @progress/kendo-licensing

    2. 安装后,导入包模块。

    1. // ES2015 module syntax
    2. import { Fade } from '@progress/kendo-vue-animation';
    3. // CommonJS format
    4. const { Fade } = require('@progress/kendo-vue-animation');

    3. 您需要安装其中一个 Kendo UI 主题来为您的组件设置样式。

    依赖项

    Animation 包要求您在应用程序中安装以下对等依赖项:

    • vue 2.6.11 或 3.0.0
    • @progress/kendo-licensing

    Kendo UI for Vue | 下载试用

    Kendo UI致力于新的开发,来满足不断变化的需求。Kendo UI for Vue使用旨在提高性能和丰富用户体验的Vue组件,帮助开发人员构建下一代应用程序。它是为Vue技术框架提供可用的Kendo UI组件,以便更快地构建更好的Vue应用程序。


    Telerik_KendoUI产品技术交流群:726377843    欢迎一起进群讨论

    了解最新Kendo UI最新资讯,请关注Telerik中文网!

  • 相关阅读:
    美赞臣EDI 940仓库装运订单详解
    客户流失场景预测,看这两大“明星”算法模型如何实现
    Gee引擎常用功能简介
    Oracle中i列定义int类型对应Java中java.math.BigDecimal类型
    武汉星起航跨境——中东电商蓬勃发展,亚马逊中东站点如何发货?
    【现场问题】批量新建工作流的问题
    【仿牛客网笔记】 Spring Boot进阶,开发社区核心功能-私信列表
    Flutter 教程之 轮播图组件实现滚动视觉差(教程含源码)
    fpga时序相关概念与理解
    八大排序--------(五)堆排序
  • 原文地址:https://blog.csdn.net/AABBbaby/article/details/125612935