avue实现用户本地保存自定义配置字段属性及注意事项(基于tj-vue2-tools)

avue实现用户本地保存自定义配置字段属性及注意事项(基于tj-vue2-tools)

tj-vue2-tools项目地址:https://www.npmjs.com/package/tj-vue2-tools

文档请看项目官方

依赖js-base64

安装依赖

npm install js-base64

安装

npm install tj-vue2-tools

引入

vue项目在main.js中引入

/** @Description:* @Version: 1.0* @Autor: Tj* @Date: 2023-01-28 09:50:23*/
import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import ElementUI from "element-ui";
import Avue from "@smallwei/avue";
import "@smallwei/avue/lib/index.css";
import "element-ui/lib/theme-chalk/index.css";
import "@/assets/css/common.scss";
import zhLocale from "@smallwei/avue/lib/locale/lang/zh";
import enLocale from "@smallwei/avue/lib/locale/lang/en";
import axios from "axios";
import TjTools from "tj-vue2-tools";
import "../node_modules/tj-vue2-tools/tj-vue2-tools.css";
// Vue.config.devtools = true;//安全警告:这将开放Vue结构数据给客户端工具显示,生产环境请设置为false
Vue.use(ElementUI);
// Vue.use(Avue);
Vue.use(Avue, { axios, enLocale, zhLocale });
Vue.config.productionTip = false;
const axiosOption = {headers: {},
};
Vue.use(TjTools, { axios: axios, axiosOption: axiosOption });
new Vue({router,render: (h) => h(App),
}).$mount("#app");

关键引入语句

import TjTools from "tj-vue2-tools";
import "../node_modules/tj-vue2-tools/tj-vue2-tools.css";
Vue.use(ElementUI);
Vue.use(Avue, { axios, enLocale, zhLocale });
const axiosOption = {headers: {},
};
Vue.use(TjTools, { axios: axios, axiosOption: axiosOption });

下面看一段基于vue-nuxt2的page代码:

代码文件AvueSaveOption.vue

<template><div><p>用户保存自定义表格项</p><avue-crudref="crud":defaults.sync="defaults":option="option":data="data":key="reload"><template slot="menuLeft" slot-scope="{ size }"><el-button @click="saveOption" type="primary" :size="size">保存配置</el-button><el-button @click="resetOption" type="danger" :size="size">还原配置</el-button></template></avue-crud></div>
</template>
<script>
const key = "avue-option";
export default {data() {return {defaults: {},reload: Math.random(),data: [{text1: "内容1-1",text2: "内容2-1",text3: "110000",},{text1: "内容1-2",text2: "内容2-2",text3: "120000",},{text1: "内容1-3",text2: "内容2-3",},{text1: "内容1-4",text2: "内容2-4",},{text1: "内容1-5",text2: "内容2-5",},],option: {sortable: true,addBtn: false,menu: false,border: true,align: "center",column: [{label: "列内容1",prop: "text1",},{label: "列内容2",prop: "text2",},{label: "列内容3",prop: "text3",type: "select",props: {label: "name",value: "code",},dicUrl: "https://cli.avuejs.com/api/area/getProvince",},],},};},mounted() {this.loadLocalOption();},methods: {loadLocalOption() {this.$loadLocalOption(this, key, "defaults", "crud");},saveOption() {let res = this.$saveLocalOption(this, key, "defaults");if (res.code === 0) {this.$message.success("配置保存成功");}},resetOption() {let res = this.$resetLocalOption(this, key, "reload");if (res.code === 0) {this.$message.success("还原配置成功");}},},
};
</script>
<style scoped lang="scss">
.el-dropdown-link {cursor: pointer;color: #409eff;font-size: 12px;
}
.el-icon-arrow-down {font-size: 12px;
}
.demonstration {display: block;color: #8492a6;font-size: 12px;margin-bottom: 20px;
}
.el-dropdown-menu__item {line-height: 1.6;font-size: 13px;
}
</style>

关键点分析

  1. :defaults.sync=“defaults”
  2. :option=“option”
  3. :data=“data”
  4. :key=“reload”

1. :defaults.sync=“defaults”

  • 该插件控制属性的关键

2. :option=“option”avue属性配置对象

3. :data=“data” 列表数据

4. :key=“reload” crud列表key

插件通过改变key变量reload来初始化列表数据

在这里插入图片描述

图1

注意事项

  1. 当页面中有异步请求改变option.column属性时,一定要在请求成功后调用loadLocalOption,否则再点开属性配置时,对应的设置项没有同步显示出来
  2. :defaults.sync和:key对象一定要在data属性中初始化,否则有异步时现象正如第1条

option是否可以使用computed计算属性?

option使用vue data属性或vue computed计算属性均可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/97996.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python综合案例(基本地图使用)

一、基本地图的使用 基本代码&#xff1a; """ 演示地图可视化的基本使用 """ from pyecharts.charts import Map from pyecharts.options import VisualMapOpts# 准备地图对象 map Map() # 准备数据 data [("北京", 99),("…

02-Flask-对象初始化参数

对象初始化参数 前言对象初始化参数import_namestatic_url_pathstatic_foldertemplate_floder 前言 本篇来学习Flask中对象初始化参数 对象初始化参数 import_name Flask程序所在的包(模块)&#xff0c;传__name__就可以 _name_ 是一个标识 Python 模块的名字的变量&#x…

网络协议从入门到底层原理学习(一)—— 简介及基本概念

文章目录 网络协议从入门到底层原理学习&#xff08;一&#xff09;—— 简介及基本概念一、简介1、网络协议的定义2、网络协议组成要素3、广泛的网络协议类型网络通信协议网络安全协议网络管理协议 4、网络协议模型对比图 二、基本概念1、网络互连模型2、计算机之间的通信基础…

配置本地maven

安装maven安装包 修改环境变量 vim ~/.bash_profile export JMETER_HOME/Users/yyyyjinying/apache-jmeter-5.4.1 export GOROOT/usr/local/go export GOPATH/Users/yyyyjinying/demo-file/git/backend/go export GROOVY_HOME/Users/yyyyjinying/sortware/groovy-4.0.14 exp…

百度低质量站点怎么办?解决百度低质量站点的方法和工具

百度低质量站点怎么恢复&#xff1f;这是许多网站主和运营人员在SEO优化过程中经常面临的一个问题。百度作为中国最大的搜索引擎&#xff0c;对于网站收录和排名具有至关重要的影响。然而&#xff0c;由于各种原因&#xff0c;有些网站可能面临被百度降权或收录减少的情况。那么…

IDea寻找冲突的依赖包

场景&#xff1a;boot项目运行时&#xff0c;提示log4j2依赖包冲突。 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/D:/maven/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/Stati…

AIGC专栏5——EasyPhoto AI写真照片生成器 sd-webui插件介绍、安装与使用

AIGC专栏5——EasyPhoto AI写真照片生成器 插件安装与使用 学习前言源码下载地址技术原理储备&#xff08;SD/Control/Lora&#xff09;StableDiffusionControlNetLora EasyPhoto插件简介EasyPhoto插件安装安装方式一&#xff1a;Webui界面安装 &#xff08;需要良好的网络&…

stable diffusion实践操作-大模型介绍-SDXL1大模型

系列文章目录 大家移步下面链接中&#xff0c;里面详细介绍了stable diffusion的原理&#xff0c;操作等&#xff08;本文只是下面系列文章的一个写作模板&#xff09;。 stable diffusion实践操作 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生…

【Linux】高级IO和多路转接 | select/poll/epoll

多路转接和高级IO 咳咳&#xff0c;写的时候出了点问题&#xff0c;标点符号全乱了&#xff08;批量替换了几次&#xff09;&#xff0c;干脆就把全文的逗号和句号都改成英文的了&#xff08;不然代码块里面的代码都是中文标点就跑不动了&#xff09; 1.高级IO 1.1 五种IO模型…

RK3568-android11-适配ov13850摄像头

参考链接 https://blog.csdn.net/daocaokafei/article/details/127621511硬件连接 主要分为两部分: mipi接口:传输摄像头数据 i2c接口:配置摄像头和对焦马达芯片寄存器Camera engine基本框架 driver layer:驱动层 Engine layer:引擎层,包括core engine库(librkisp.so)…

WebSocket原理简介

慢聊Go之GoLang中使用Gorilla Websocket&#xff5c;Go主题月 - 掘金 (juejin.cn) 【Go项目】24. WebSocket 基本原理_哔哩哔哩_bilibili 1.http和socket的区别 1&#xff09; http要先给服务器发请求&#xff0c;然后才会得到响应&#xff0c;基本是一问一答式。 而socke…

mybatis-generator-maven-plugin使用

前提说明 数据库&#xff1a;MYSQL57Mybatis : http://mybatis.org/generator/index.html 操作说明 引入插件 <plugins><!-- MyBatis 逆向工程 插件 --><plugin><groupId>org.mybatis.generator</groupId><artifactId>mybatis-generat…