sillydaddy
5.47D
5.01D
V2EX  ›  设计

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

  •  
  •   sillydaddy · Aug 21, 2022 · 2097 views
    This topic created in 1403 days ago, the information mentioned may be changed or developed.

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

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

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

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

    Opportunity
        1
    Opportunity  
       Aug 21, 2022   ❤️ 1
    其实是协同编辑的问题吧,应该是只操作当前视图的

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

    看了你的回复,发现确实跟协同编辑比较像。没想到还有这种解决方案。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   916 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 20:28 · PVG 04:28 · LAX 13:28 · JFK 16:28
    ♥ Do have faith in what you're doing.