用 A-Z 表示 el-table 表格序号,一个你可能忽略的方法

业务场景:基于element UI 15.6版本,el-table 表格的序号我想用 A-Z 该怎么表示呢

需求分析:这里可以用的方法 `String.fromCharCode()`, 看看 MDN 怎么解释的!

功能实现:在线远行

在 UTF-16 中,绝大部分常用的字符可以用一个 16 位的值表示(即一个代码单元)。然而,有一类字符叫 Base Multilingual Plane (BMP),是所有可寻址的 Unicode 码点的 1/17th。剩下的码点,从范围 \65536 \ (\0x010000) 到 \1114111(\0x10FFFF) 被称之为补充字符。在 UTF-16 中,补充字符也叫代理(surrogates),用两个 16 位代码单元表示,它是有目的被保留下来的。两个代理(surrogates)形成一个有效组合,也叫代理对,可以用来表示一个补充字符。

因为 \fromCharCode()\ 只作用于 16 位的值 (跟 \\u\转义序列一样),为了返回一个补充字符,一个代理对是必须的。例如,\String.fromCharCode(0xD83C, 0xDF03)\和 \\uD83C\uDF03\ 返回码点 \U+1F303\ “Night with Stars”。

示例:

String.fromCharCode(65, 66, 67);   // 返回 "ABC"
String.fromCharCode(0x2014);       // 返回 "—"
String.fromCharCode(0x12014);      // 也是返回 "—"; 数字 1 被剔除并忽略
String.fromCharCode(8212);         // 也是返回 "—"; 8212 是 0x2014 的十进制表示

String.fromCharCode(0xD83C, 0xDF03); // Code Point U+1F303 "Night with
String.fromCharCode(55356, 57091);   // Stars" == "\uD83C\uDF03"
String.fromCharCode(0xD834, 0xDF06, 0x61, 0xD834, 0xDF07); // "\uD834\uDF06a\uD834\uDF07"

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>A-Z 表示 el-table 表格序号</title>
    <script src="https://unpkg.com/vue@2"></script>
    <script src="https://unpkg.com/element-ui@2.15.6/lib/index.js"></script>
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"/>
  </head>
  <body>
    <div id="app">
      <el-table :data="listArr" style="width: 100%;" border height="393">
        <el-table-column type="selection"></el-table-column>
        <el-table-column prop="id" label="ID"></el-table-column>
        <el-table-column prop="name" label="姓名"></el-table-column>
        <el-table-column prop="age" label="年龄"></el-table-column>
      </el-table>
    </div>
    <script>
      new Vue({
        el: "#app",
        data: {
          listArr: [
            { id: 1, name: "周一", age: 11 },
            { id: 2, name: "虎二", age: 12 },
            { id: 3, name: "张三", age: 13 },
            { id: 4, name: "李四", age: 14 },
            { id: 5, name: "王五", age: 15 },
            { id: 6, name: "赵六", age: 16 }
          ]
        },
        created() {
          this.listArr.forEach((item, index) => {
            // 返回由指定的 UTF-16 代码单元序列创建的字符串作为 ID
            item.id = String.fromCharCode(65 + index);
          });
          console.log(this.listArr);
        }
      });
    </script>
  </body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值