开发者社区 问答 正文

在提交表单后,这个分类编号怎么实现有序的(它这里尾数+1),之前采用的是UUID,现在想换成如图这样

已解决

1
分类实现2.png

2.分类实现.png

展开
收起
游客d6oxkjc7leh6g 2023-09-14 10:27:47 950 分享 版权
来自: 钉钉宜搭
2 条回答
写回答
取消 提交回答
  • 十年摸盘键,代码未曾试。 今日码示君,谁有上云事。
    采纳回答

    你可以参考一下宜搭表单中子表单点击新增一项序号组件加一的案例,结合自己实际情况对代码进行修改。

    子表单序号生成函数:

    // 生成子表单序号 // tableFieldId:子表单组件唯一标识 // orderFieldId:序号字段唯一标识 // beforeText:序号前缀文案 // afterText:序号后缀文案 export function setOrderNum(tableFieldId, orderFieldId, beforeText = '', afterText = '') {   if (!tableFieldId || !orderFieldId) { return };   const tableField = this.$(tableFieldId);   const items = tableField.getItems();   items.forEach((item, index) => {     const updateObject = {};     updateObject[orderFieldId] = ${beforeText}${index + 1}${afterText};     tableField.updateItemValue(item, updateObject);   }); }

    子表单 onChange 时调用该函数, 已在子表单 onChange 中处理新增一项逻辑。

    页面初始化 didMount 时调用该函数

    实现效果

    2023-09-14 11:47:12
    赞同 5 展开评论
  • 十分耕耘,一定会有一分收获!

    楼主你好,实现这个有序分类编号可以通过生成一个自增的序列号来实现。这个序列号可以存储在数据库中或者使用一个独立的服务器来维护。当分类记录被创建时,可以从序列号中获取下一个可用的编号,然后将其写入分类对象的编号属性。例如,你可以使用类似于以下代码来实现自增序列号的生成:

    class SequenceGenerator:
        def __init__(self):
            self.current_sequence = 0
    
        def next(self):
            self.current_sequence += 1
            return self.current_sequence
    
    sequence_generator = SequenceGenerator()
    
    class Category:
        def __init__(self, name):
            self.name = name
            self.number = sequence_generator.next()
    

    在上述示例中,我们定义了一个名为 SequenceGenerator 的类来生成递增序列号。每次创建一个新的 Category 对象时,我们从 SequenceGenerator 获取下一个序列号,并将其存储在分类对象的编号属性中。这样,每个分类对象都会有一个唯一的有序编号。

    2023-09-15 07:57:29
    赞同 1 展开评论
问答分类:
问答地址:
关联地址: