背景
编辑中,已上线,已下线是产品设计中最常见的三种状态。
一般情况下,一个产品在已上线后,就不允许再编辑了,只允许下线状态。如果用户希望再编辑,只能先将产品下线,然后从已下线状态过渡到编辑状态,已下线状态过渡到再编辑状态通过生成一条新记录完成。但是有些情况下,我们既希望已上线的产品能一直对外使用,不能下线,同时内部又有将产品编辑,进行迭代升级的需求,这个时候应该怎么办呢?
怎么实现上线后支持再编辑,是其中的难点
上线再编辑的流程如下:
编辑->上线—> 编辑 ->上线
如果上线再编辑操作的是同一条记录,当用户想查看上线的记录时,看到的就是再编辑而又未上线的数据,就会出现错误。
如果在每次编辑保存时都生成一条新记录,确实可以解决上面说的问题。但是别忘了,编辑之后也可以再编辑,所以这种做法也不对。
所以,正确的做法是,在上线时点击编辑,应该生成一条新记录,作为副本记录,在页面上同时显示主记录和副本记录。当编辑完成后,将副本记录点击上线,替换主记录。
待续。。