当前位置: 首页 > 知识库问答 >
问题:

前端 - 设计了一个表格,内容由其他组件传来的值渲染,如何在组件没有传值时,能呈现一个没有内容的表格,而不是dom都没有加载出来,?

范安歌
2023-09-30

表格:

         <el-row class="row">            <el-col class="col">              <span style="background-color: #1c12aa;color: white;font-weight: bold;">ST01</span>              <span style="color: white;font-weight: bold;" :class="getResultClass(datalist[7].value)">{{ datalist[7].value }}</span>            </el-col>          </el-row>          <el-row class="row">            <el-col class="col">              <span style="background-color: #bfbfbf;color: #000000;font-weight: bold;">等级</span>              <span>{{ datalist[6].value}}</span>            </el-col>          </el-row>          <el-row class="row">            <el-col class="col">              <span style="background-color: #bfbfbf;color: #000000;font-weight: bold;">二维码结果</span>              <span>{{ datalist[0].value}}</span>            </el-col>            <el-col class="col">              <span style="background-color: #bfbfbf;color: #000000;font-weight: bold;">二维码X位置</span>              <span>{{ datalist[2].value}}</span>            </el-col>          </el-row>

传值组件:

    <div>      <process :titlelist="titlelist" :datalist="datalist"></process>    </div>

希望没有值传入得到时候能显示这样,而不是表格框架都没有(dom都没有加载)。
image.png

共有2个答案

姬寂离
2023-09-30

按照参数的格式创建只有空格字符串的假数据作为默认数据,并且给表格单元设置合理的min-width

defaultDataList = ["  ","  ","  ","  ","  ","  ","  ","  ","  "];
通正平
2023-09-30

你可以在渲染表格之前,检查 datalist 是否被提供并且是否有值。这样,当 datalist 为空或者未定义时,表格仍然会被渲染,只不过是没有内容而已。

在你的组件中,你可以使用一个计算属性 (computed property) 来检查 datalist 的值,并根据这个值来决定是否渲染表格。

下面是一个例子:

<template>  <div>    <el-table v-if="hasData" :data="datalist">      <!-- Your table columns here -->    </el-table>    <div v-else>No data available</div>  </div></template><script>export default {  props: ['titlelist', 'datalist'],  computed: {    hasData() {      return this.datalist && this.datalist.length > 0;    }  }}</script>

在上面的代码中,hasData 是一个计算属性,它会检查 datalist 是否有值。如果有值,它会返回 true 并渲染表格。如果没有值,它会返回 false 并渲染 No data available

 类似资料:
  • 我遇到了一个问题,试图将多个文件从ReactJS应用程序发送到Symfony后端。 我上传了两个文件,但只有一个在我的Symfony后端可见。 数据是从ReactJS dropzone发送的,我很好地检查了这两个文件是通过发送的,我很好地使用了来发布数据。 在ChromeNewtwork选项卡中,表单数据详细信息显示两个文件很好地附加到请求: -webkitformboundarytif 9 Si

  • 本文向大家介绍javascript表格的渲染组件,包括了javascript表格的渲染组件的使用技巧和注意事项,需要的朋友参考一下 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tianxiangbing/table 如上图所示,功能基本包括常用表格中遇到的分页、搜索、删除

  • 问题内容: 例如我可以做: React将在哪里渲染: 目前,我遇到了错误: 在使用browserify和babelify进行转译时 问题答案: 从React v16.0版本开始,当您位于组件内部时,您可以呈现一个组件数组,而无需在额外的元素中包装项目: 切记仅设置按键。 更新 现在从16.2版本开始,您可以使用片段 短语法 在,您仍然无法渲染多个项目,因为react需要一个根。因此,您可以在中渲染

  • 问题内容: 我正在努力寻找一种方法来做到这一点。在父组件中,模板描述了及其元素,但将渲染委托给了另一个组件,如下所示: 每个myResult组件都呈现其自己的标签,基本上是这样的: 我之所以没有将其直接放在父组件中(避免需要使用myResult组件)是因为myResult组件实际上比此处显示的要复杂,因此我想将其行为放在单独的组件和文件中。 产生的DOM看起来很糟。我相信这是因为它无效,因为它只能

  • 问题内容: 因此,对于Java中的正则表达式,我想编写一个正则表达式,当且仅当模式前面没有某些字符时才匹配。例如: 如果bar不以foo开头,我想匹配。因此输出为: 我知道这可能是一个非常简单的问题。我正在尝试学习正则表达式,但与此同时我现在需要一些工作。 问题答案: 你想这样使用: 此处的()意思是“仅在此点之前没有“ x”。 有关更多信息,请参见正则表达式-环顾四周。 编辑:添加来捕获之前的字