V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sillydaddy
V2EX  ›  设计

撤销重做(RedoUndo)的作用对象,应该是页面,还是文档呢?

  •  
  •   sillydaddy · 2022-08-21 18:09:22 +08:00 · 1419 次点击
    这是一个创建于 835 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如果一个文档(Document),有多个视图(View)——比如同一份文档数据,同时打开了 2 个编辑 tab 页面,

    那么撤销重做,是只撤销重做当前页面上作的修改?还是对文档的修改都算?

    如果都算的话,感觉有点「所见非所得」:在当前页面上,撤销的却包含了其他页面上作出的修改。

    大家一般是怎么处理的呢?

    Opportunity
        1
    Opportunity  
       2022-08-21 22:05:57 +08:00   ❤️ 1
    其实是协同编辑的问题吧,应该是只操作当前视图的

    https://www.zhihu.com/question/367915946
    sillydaddy
        2
    sillydaddy  
    OP
       2022-08-22 08:54:44 +08:00
    @Opportunity
    感谢。我发完帖子才发现,一般的撤销重做的实现,都是基于「栈」的,不同页面上的操作,都会压到栈里,所以很难对单独一个页面的操作作撤销。

    看了你的回复,发现确实跟协同编辑比较像。没想到还有这种解决方案。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1537 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 17:08 · PVG 01:08 · LAX 09:08 · JFK 12:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.