跳到主要内容
知识地图editor:编辑器是否自动保存资源?ArcBlock 体系

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← AFS 与界面

一个问题

editor:编辑器是否自动保存资源?

editor 提供代码或文本编辑;保存取决于明确连接。

读写一段讲稿时,编辑器可以显示行号与语法信息。change 事件说明内容变化。只有应用提供了正确的保存动作或连接,并且操作成功,才能说底层资源已保存。

先认识这些属性

content 提供初始编辑内容;language 选择语法高亮所用的语言,不表示运行这段程序;readOnly 让编辑器只读,并隐藏编辑工具栏。lineNumbers 控制是否显示行号。界面只读仍不能代替底层资源的授权。

change 表达编辑内容发生变化,不是保存成功的通知。

读一个结构例子

以下摘自源码注册示例。它展示结构,未在本页运行;示例中的路径和动作需要应用提供。

json
{
  "id": "code-editor",
  "type": "editor",
  "props": {
    "language": "javascript",
    "content": "console.log(\"hello\");",
    "lineNumbers": true
  },
  "events": {
    "change": {
      "exec": "/files/.actions/save",
      "args": {
        "path": "/src/main.js"
      }
    }
  }
}

例子把修改事件连接到保存动作,args.path 指定目标文件。注册约定中,change 事件数据的 content 才是修改后的文字;初始 props.content、修改事件数据和保存路径是不同信息。保存服务仍需正确接收内容并返回执行结果。

查看 editor 的技术文档。

检查一下理解

editor 的 change 事件能证明什么?

它说明编辑内容发生变化;保存是否成功还需核对写入操作。