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

vue.js - 如何优化包含日期和非日期列的Vue Element UI表格代码?

温源
2024-07-01

这段代码该怎么优化?
这个表格可以看成两部分,左侧部分表头为非日期,右部分表头为日期。
右部分日期可能会有很多,我让左侧固定,右侧的部分可以滚动,但是我下面实现代码的if-else部分有很多冗余的部分。

我觉得这个fixed属性接口的设计可能不太好吧

 <el-table :data="tableData" border>
        <template v-for="item in fields">
          <el-table-column v-if="/\d{4}-\d{1,2}-\d{1,2}/.test(item.prop)" :label="item.name" :prop="item.prop" header-align="center"></el-table-column>
          <el-table-column v-else :label="item.name" :prop="item.prop" fixed="left" header-align="center" ></el-table-column>
        </template>
</el-table>

共有1个答案

柳正志
2024-07-01

可以先把fields转化为适用的columns,然后遍历columns。vue是数据驱动视图,最好是操作数据

let columns = fields.map(item => {
    let fixed = /\d{4}-\d{1,2}-\d{1,2}/.test(item.prop) ? 'left' : undefined
    return {
        label: item.name,
        prop: item.prop,
        fixed
    }
})

<el-table :data="tableData" border>
     <el-table-column v-for="item in columns" ...item header-align="center"></el-table-column>
</el-table>
 类似资料:
  • 我需要读取一个非常大的Excel文件,该文件既有日期编号,也有非日期编号。我发现的所有示例似乎都能做到这一点或那一点(将单元格标识为日期值或在恒定内存中读取文件)。 对于非常大的文件,唯一有效的解决方案是此处所述的StreamingReader方法(此处所述的其他示例要么不适用于我的文件格式,要么出现内存不足堆错误)。 用java读取大型Excel文件(500K行) http://poi.apac

  • 我想在获得,和。 这是一条漫长的道路: 我的问题:如何将最后一部分压缩到函数? 我想归档的内容: p/s:的含义与标准数字格式字符串相同。像C#语法:

  • 我正在处理卡的到期日期。我有一个API,我将在其中获得“yyMM”格式的到期日期为“String”。在这里,我正在尝试使用 带有TimeZone.getTimeZone("UTC ")的SimpleDateFormat 所以我的代码就像 现在的问题是,当我通过 2011 年时,它给出的是 这里你可以看到我把11作为月份,但是它把它转换成10月而不是11月。 为什么? 还有哪些其他选项可以将带有 的

  • 我正在尝试将DatePicker日期格式化为简单的数据格式(“yyyy-MM-dd HH: mm: ss Z”)。有人告诉我,我需要使用简单的数据格式将其解析为日期对象-简单的数据格式(“yyyy-MM-dd”),然后将其格式化为我需要的内容,如下所示。但是,我在尝试捕捉块中收到错误“重复局部变量eDate”。任何专家都可以查看我的代码并提出建议吗? 已更新

  • 问题内容: 我已经尝试了堆栈溢出中给出的示例 如何在java中获取两个日期之间的日期列表 该代码运行完美。但是有一个小问题。我的清单中也没有结束日期。如何选择包含/排除开始日期和结束日期?是吗,我可以使用remove()和add()手动完成此操作,或者JodaAPI可以为我做到这一点吗? 问题答案: 基于API,似乎没有直接选择include的方法。 一种可能是,只需将+1加到天数上即可。

  • 我有一个的实例,我想将其格式化为String。我该怎么做呢?我想把日期变成一个字符串,类似“2013-04-20”这样的东西。

  • 问题内容: 在JavaScript中,如何格式化日期对象以打印为? 问题答案: 对于自定义分隔的日期格式,你必须从DateTimeFormat对象(属于ECMAScript Internationalization API的一部分)中提取日期(或时间)组件,然后手动使用所需的分隔符创建字符串。 为此,你可以使用DateTimeFormat#formatToParts: 你还可以使用来一对一地提取各

  • 问题内容: 我正在使用jQuery在Ajax上进行首次尝试。我正在将数据获取到页面上,但是为Date数据类型返回的JSON数据遇到了一些麻烦。基本上,我得到的字符串看起来像这样: 从完全不熟悉JSON的人- 如何将其格式化为短日期格式?是否应该在jQuery代码中的某个地方处理?我尝试使用该插件没有成功。 仅供参考:这是我结合以下答案使用的解决方案: 该解决方案从回调方法中获取了我的对象,并使用日