关于 Vue.js 3.0 UI Library element-plus 官网部分 Demo 失效汇总

Element Plus A Vue.js 3.0 UI Library.

1、Card 卡片

Card 卡片之基础 Demo - header 失效

失效缘由

含有 heder 的示例代码中,设置 header 的方式是采用的已废弃的 slot attribute 语法html

<div slot="header">
    //...
</div>

image.png

解决方式

在向具名插槽提供内容的时候,在 <template> 元素上使用 v-slot 指令,并以 v-slot 的参数的形式提供其名称。vue

<el-card shadow="shadow">
  <template v-slot:header>
    // ...
  </template>
  <div v-for="o in 4" :key="o" class="text item">
    {{'列表内容 ' + o }}
  </div>
</el-card>

备注:v-slot:header 能够简写成 #headeride

image.png

2、NavMenu 导航菜单

全部 Demo 失效

失效缘由

同上,使用具名插槽的地方采用的是已废弃的 slot attribute 语法ui

<template slot="title">
  <i class="el-icon-location"></i>导航一
</template>
<span slot="title">分组一</span>
...

image.png

解决方式

在向具名插槽提供内容的时候,在 <template> 元素上使用 v-slot 指令,并以 v-slot 的参数的形式提供其名称。spa

<template v-slot:title>
  <i class="el-icon-location"></i>
    <span>导航一</span>
</template>
<span slot="title">分组一</span>
...

image.png

3、Transfer 穿梭框

目前官网状态是控制台报错, 页面空白。

image.png

Transfer 穿梭框之可自定义 Demo - 使用 scoped-slot 自定义数据项失效

失效缘由

使用 scoped-slot 自定义数据项的示例代码中,使用了已被 3.0 废弃的 slot-scope attribute 的语法code

...
<p>使用 scoped-slot 自定义数据项</p>
<div style="text-align: center">
  <el-transfer
    v-model="value4"
    filterable
    :left-default-checked="[2, 3]"
    :right-default-checked="[1]"
    :titles="['Source', 'Target']"
    :button-texts="['到左边', '到右边']"
    @change="handleChange"
    :data="data">
    <!-- 下面的的做用域插槽语法被遗弃 -->
    <span slot-scope="{ option }">{{ option.key }} - {{ option.label }}</span>
    ...
  </el-transfer>
</div>

解决方式

使用带值的 v-slot 来定义咱们提供的插槽 prop 的名字。component

<p>使用 scoped-slot 自定义数据项</p>
<div style="text-align: center">
  <el-transfer
    v-model="value4"
    filterable
    :left-default-checked="[2, 3]"
    :right-default-checked="[1]"
    :titles="['Source', 'Target']"
    :button-texts="['到左边', '到右边']"
    @change="handleChange"
    :data="data">
    <!-- 下面的是修改后的语法 -->
    <template v-slot:default="slotProps">
      <span>{{ slotProps.option.key }} - {{ slotProps.option.label }}</span>
    </template> 
    ...
  </el-transfer>
</div>

上边代码中的做用域插槽语法能够简写成参数解构的形式:htm

<template v-slot="{ option }">
  <span>{{ option.key }} - {{ option.label }}</span>
</template>

备注:由于源码实现中设置的 keyoption ,因此参数必须为 { option }blog

image.png

4、 Upload 上传

目前官网状态是控制台报错, 页面空白。

image.png

Upload 上传之文件缩略图 Demo - 使用 scoped-slot 去设置缩略图模版

失效缘由

同上,使用 scoped-slot 自定义数据项的示例代码中,使用了已被 3.0 废弃的 slot-scope attribute 的语法ip

<div slot="file" slot-scope="{file}">
  ...
<div>

解决方式

使用带值的 v-slot 来定义咱们提供的插槽 prop 的名字。

<template v-slot:file v-slot="{ file }">
  ...
</template>

image.png

5、其余问题

关于 InfiniteScroll 无限滚动

  1. 无限滚动卡顿
  2. ...
相关文章
相关标签/搜索