看看CabloyJS是如何实现编辑页面脏标记的
应用场景
我们在使用Word、Excel时,当修改了内容之后在标题栏会显示脏标记
,从而可以明确的告知用户内容有变动。此外,如果在没有保存的情况下关闭窗口,系统会弹出提示框,让用户选择是否放弃修改
那么,在Web系统中,我们是否也可以支持这种脏标记
机制呢?
答案是肯定的,CabloyJS就提供了这种脏标记
机制,而且CabloyJS内置的所有可以编辑的页面都支持了这种效果
效果演示
文章图片
如何使用
下面以模块test-party
为例,演示如何向编辑页面添加脏标记
机制。演示代码都在下面的文件中:
src/module-vendor/test-party/front/src/kitchen-sink/pages/markdownEditor.vue
1. 引入脏标记组件
import Vue from 'vue';
const ebPageDirty = Vue.prototype.$meta.module.get('a-components').options.mixins.ebPageDirty;
export default {
mixins: [ebPageDirty],
...
}
【看看CabloyJS是如何实现编辑页面脏标记的】
ebPageDirty
是由模块a-components
提供的组件,放入当前页面组件的mixins
中2. Title显示脏标记
3.
...
- 行16:获取国际化处理后的标题
- 行17:调用
page_getDirtyTitle
方法向title
动态添加脏标记 - 行3:动态绑定
page_title
export default {
...
methods: {
async onPerformSave() {
if (!this.$refs.editor) return;
await this.$refs.editor.checkContent();
this.$view.toast.show({ text: this.$text('Saved') });
8.this.page_setDirty(false);
},
onInput(data) {
if (this.content === data) return;
this.content = data;
13.this.page_setDirty(true);
},
},
};
- 行13:当用户输入内容时,调用
page_setDirty
方法将脏标记置为true
- 行8:当保存内容时,调用
page_setDirty
方法将脏标记置为false
名称 | 说明 | |
---|---|---|
page_getDirtyTitle | 向Title动态添加脏标记 | |
page_setDirty | 修改脏标记 |
- 文档: https://cabloy.com/
- GitHub: https://github.com/zhennann/c...
推荐阅读
- 热闹中的孤独
- 我要做大厨
- 《真与假的困惑》???|《真与假的困惑》??? ——致良知是一种伟大的力量
- 爱就是希望你好好活着
- 太平之莲
- 知识
- 叙述作文
- 时间老了
- 清明,是追思、是传承、是感恩。
- 我错了,余生不再打扰