如何在表格中添加图片(使用el-table、el-table-column),即在Vue.js中使用ui-element?

Posted

技术标签:

【中文标题】如何在表格中添加图片(使用el-table、el-table-column),即在Vue.js中使用ui-element?【英文标题】:How to add an image in a table (using el-table, el-table-column), ie using ui-element in Vue.js? 【发布时间】:2020-10-29 10:41:22 【问题描述】:

我是 Vue.js 的新手,并且已经设法使用 ui-element 构建了一个简单的表格。用于构建表格的 ui-element 是 el-table,并使用 el-table-column 和 prop 显示了各个列(请在下面找到代码)。现在,我想在我的表格中显示图像/头像/缩略图(即表格中的一列应该填充图像)。我不知道如何在表格中插入图像,因为我正在使用 prop 用数据填充表格。我的表格代码如下:

Vuejs 中的 html 部分:

<!--Table-->
    
          <el-table :data="posts"
                ref="Table"
                stripe
                style="width: 100%;">

                <el-table-column min- prop="name"
                   label="Username">
                </el-table-column>

                <el-table-column min- prop="count_followers"
                   label="Followers">
                </el-table-column>

                <el-table-column min-  prop="display_pic_url"
                   label="Display Pic">
                </el-table-column> -->
           </el-table>

我使用 axios 使用了数据并将信息存储在一个名为 posts 的数组中。我在html代码中使用了上面的posts数组,即:data = "posts"。我已经使用 el-table-column 和 prop 在网页上显示了数据。上面第三列代表展示图片,prop = "display_pic_url" 代表头像url。但是,我不想在表格上打印这些数据(即显示图片的 url),而是想显示托管在 url 上的个人资料图片。我如何实现这一目标?如何在每一行中显示个人资料图片,而不是在每一行中打印 url?

我已经在下面显示了我创建的表格。

请查看代码并建议修改代码以显示头像。

如果能得到任何帮助,我将不胜感激。

谢谢。

【问题讨论】:

【参考方案1】:

您可以使用插槽范围:

<el-table-column min-  prop="display_pic_url" label="Display Pic">
  <template slot-scope="scope">
      <img :src="scope.row.display_pic_url"/>
  </template>
</el-table-column>

【讨论】:

有没有办法使用 el-table-column 只为每一行更改特定列的文本颜色? el-table-column 似乎没有颜色属性,我想不出一种方法来设置它的样式。感谢您的帮助。例如,如果我想将Followers列的内容设为蓝色,那我该怎么做呢?

以上是关于如何在表格中添加图片(使用el-table、el-table-column),即在Vue.js中使用ui-element?的主要内容,如果未能解决你的问题,请参考以下文章

Element-Plus el-table表格组件按行内内容自动添加图片

Element-Plus el-table表格组件按行内内容自动添加图片

Element-Plus el-table表格组件按行内内容自动添加图片

el-table 表格循环多张图片

el-table 表格循环多张图片

如何在 el-table 中添加 el-input&el-select?