当前位置: 首页 > news >正文

w-form-select.vue(自定义下拉框组件)(与后端字段直接相关性)

文章目录

  • 1、w-form-select.vue 组件中每个属性的含义
  • 2、实例
  • 3、源代码

1、w-form-select.vue 组件中每个属性的含义

好的,我们来详细解释 w-form-select.vue 组件中每个属性的含义,并用表格列出它们是否与后端字段直接相关:

属性解释表格:

属性名类型默认值含义与后端字段直接相关性
labelstring''表单项的标签文本,显示在输入框左侧。
propstring''表单验证的关键。 对应后端数据模型中的一个字段名。 主要用于 el-form 的表单验证。
labelWidthstring'160px'标签的宽度。
labelAlignstring'right'标签文本的对齐方式。
tipstring''鼠标悬停在标签上的提示文本。
operateTypestring''操作类型,用于判断组件的显示状态(如 'add', 'edit', 'view')。
inputWidthstring'100%'控制内部 el-select 组件的宽度。 可以是像素值、百分比或其他有效 CSS 宽度值。
valueany''组件的值。这个值通常直接对应后端字段的值。 使用 v-model 双向绑定此值。
multiplebooleanfalse是否允许多选。如果为 true,则 value 为数组;否则 value 为单个值。
listany[][]下拉选择框的数据源。通常是一个对象数组,其中每个对象表示一个选项。间接相关
optionLabelstring''指定 list 中哪个属性的值作为下拉选项的标签文本显示。
optionValuestring'value'指定 list 中哪个属性的值作为下拉选项的值。
placeholderstring''下拉选择框的占位符文本。
inputEndstring''在输入框后附加的文本或元素。
allowCreatebooleanfalse是否允许用户创建新的选项。
defaultFirstOptionbooleanfalse是否在输入框有值的时候,默认选择第一个匹配的选项。

详细解释:

  • 与后端字段直接相关:

    • prop: 这个属性的值通常与后端数据模型的字段名称对应, 用于表单验证, 例如你在后端有一个 userType 的字段,那么你可以设置 prop="userType"prop 的值不是直接传递给后端,而是用来匹配 rules, 用于表单校验。
    • value: 组件的值,例如用户选择了 普通用户value 通常是 1, 最终会和表单其他数据一起提交给后端。 value 的值直接对应后端字段的值,例如,如果后端有一个 userType 字段, 你的表单提交数据中也需要 userType: 1v-model 直接绑定了 value
      • 如果 :multiple="true" value[1, 3, 5] 等数组, 对应后端可能也会是这样的数组结构,例如 "relatedIds":[1,3,5]
      • 如果 :multiple="false" value1, 对应后端字段值, 例如 userType: 1
    • optionValue: 指定 list 中哪个属性的值作为下拉选项的值传递给后端, 例如你的 list[{id: 1, label: '普通用户'}], 那么 optionValue="id" 表明,你选择了 普通用户 后, id1 的值,会被作为 value 提交给后端。
  • 与后端字段间接相关:

    • list: 虽然 list 本身不会直接提交给后端,但它的数据通常来源于后端接口返回的数据。例如,你通常会从后端接口获取一个 用户类型列表,作为你的 list 的数据来源。
  • 与后端字段无直接关系:

    • 其他属性,如 label, labelWidth, tip, operateType, inputWidth, optionLabel, placeholder, inputEnd , allowCreate, defaultFirstOption, 等, 主要用于控制前端 UI 的展示,与后端字段没有直接的对应关系。

总结:

这个表格清晰地展示了 w-form-select 组件中每个属性的作用,以及它们与后端字段的关系。 请记住, prop 用作表单验证, value 是与后端字段值直接对应的, 而 optionValue 指定了传递给后端的值。 其他属性主要用于组件的 UI 展示和交互。

2、实例

          <w-form-select v-model="form.relatedIds" label="关联识别点" label-width="120px" :operate-type="operateType":list="identifies" option-label="description" option-value="id" :multiple="true" input-width="100%"@visible-change="handleVisibleChange"/>

在这个例子中,v-model="form.relatedIds" 这个属性对应着 w-form-select 组件的 value

详细解释:

  • v-model 的作用: v-model 是 Vue.js 中用于双向数据绑定的语法糖。 它实际上是 v-bind:value@input (或者 @change, 如果是 <select> 组件) 的简写形式。

  • v-model="form.relatedIds" 的含义:

    • 读取值: 组件初始化时,会读取 form.relatedIds 变量的值,并显示在 w-form-select 组件中。
    • 更新值: 当用户在 w-form-select 组件中选择了新的选项时,组件的值会自动更新到 form.relatedIds 变量。
    • 双向绑定: 实现了 w-form-select 组件的 value 属性和 form.relatedIds 变量之间的双向绑定。
  • w-form-selectvalue:

    • w-form-select 组件的代码中,我们看到了 v-model="val", 并且在 value 发生变化的时候, 将其更新到 val 变量。

         @Watch('value')watchValue(v: any) {this.val = v}
      

      并且 el-select 组件使用了 v-model="val"

         <el-select v-model="val" ... />
      
    • w-form-select 组件的值发生变化的时候,会触发 @input 事件,并且传递组件的值, 最终触发的是 w-form-select 组件的 @input 事件:

       @input="value => $emit('input', value)"
      
  • 所以 v-model="form.relatedIds" 实际上是以下代码的简写:

    <w-form-select:value="form.relatedIds"@input="value => form.relatedIds = value"label="关联识别点"label-width="120px":operate-type="operateType":list="identifies"option-label="description"option-value="id":multiple="true"input-width="100%"@visible-change="handleVisibleChange"
    />
    
  • form.relatedIds 的值:

    • 由于 :multiple="true" , 所以 form.relatedIds 的值是一个数组, 包含了用户选择的多个 id 值, 例如 [1, 3, 5]。 如果 :multiple="false" , 则是一个单独的值, 例如 1
  • 后端关系: form.relatedIds 最终会传递到后端, 对应后端数据模型的字段。

总结:

在你的代码示例中, w-form-select 组件的 value 属性的值被 v-model="form.relatedIds" 所控制。 form.relatedIds 变量存储了组件的当前值,并且实现了双向数据绑定。

因此, 在你这个例子中 v-model="form.relatedIds" 就是对应 w-form-select 组件的 value 属性。


3、源代码

<!-- src/components/DialogForm/func/w-form-select.vue -->
<template><div class="wrap"><div class="box"><el-form-item :label="label" :prop="prop" :label-width="labelWidth"><div slot="label" :style="`text-align: ${labelAlign};`"><span>{{ label }}<el-tooltip class="item" effect="dark" :content="tip || label || placeholder" placement="bottom-start"><i class="el-icon-warning-outline" /></el-tooltip></span></div><span v-if="operateType === 'view'"><template v-if="multiple">{{ list && list.length && list.filter(o => val.includes(o[optionValue])).map(o => o[optionLabel]).join(',')}}</template><template v-else><!-- {{ getSelectLabel(val) }} -->{{ list && list.length && list.find(o => val === o[optionValue]) && list.find(o => val ===o[optionValue])[optionLabel] }}</template></span><div v-else class="input-container"><!-- 这里有一个 v-else --><el-select v-model="val" :multiple="multiple" filterable clearable :placeholder="placeholder || label || tip":allow-create="allowCreate" :default-first-option="defaultFirstOption":style="inputWidth ? `width: ${inputWidth};` : `width: 100%;`" @input="value => $emit('input', value)"@change="value => $emit('change', value)"@visible-change="value => $emit('visible-change', value)"><el-option v-if="list.length" :label="` `" :value="` `" /><el-option v-for="(item, i) in list" :key="'' + item[optionLabel] + item[optionValue] + i":label="item[optionLabel]" :value="item[optionValue]"/></el-select></div><div class="append-slot"><!-- 添加一个容器包裹插槽 --><slot name="append"></slot> <!-- 插槽用于放置图片 --></div><template v-if="inputEnd">&nbsp;&nbsp;&nbsp;&nbsp;</template>{{ inputEnd }}</el-form-item></div></div>
</template>
<script lang="ts">
import { Component, Vue, Prop, Emit, Watch } from 'vue-property-decorator'
import { AppModule } from '@/store/modules/app'
import { UserModule } from '@/store/modules/user'@Component({name: 'w-form-input',components: {}
})export default class extends Vue {@Prop({ default: '' })public label!: string@Prop({ default: '' })public prop!: string@Prop({ default: '160px' })public labelWidth: string@Prop({ default: 'right' })public labelAlign: string@Prop({ default: '' })public tip?: string@Prop({ default: '' })public operateType!: string@Prop({ default: false })@Prop({ default: '100%' })public inputWidth?: string@Prop({ default: '' })public value?: any@Prop({ default: false })public multiple: boolean@Prop({ default: () => [] })public list!: any@Prop({ default: '' })public optionLabel: string@Prop({ default: 'value' })public optionValue: string@Prop({ default: '' })public placeholder?: string@Prop({ default: '' })public inputEnd?: string@Prop({ default: false })public allowCreate?: boolean@Prop({ default: false })public defaultFirstOption?: boolean@Watch('list')watchList(v: any) {this.selList = v}@Watch('value')watchValue(v: any) {this.val = v}private multipleFlag: boolean = falseprivate selList: any = this.listprivate val: any = this.value
}
</script>
<style scoped lang="scss">
.wrap {width: 100%;.box {width: 100%;position: relative;overflow: visible;}.input-container {position: relative; /* 确保下拉框的弹出层基于此容器定位 */display: inline-block; /* 让下拉框和图片在同一行 */}.append-slot {position: absolute; /* 将图片绝对定位 */left: 15%; /* 图片放置在下拉框右侧 */top: 53%; /* 垂直居中 */transform: translateY(-50%); /* 确保垂直居中 */margin-left: 10px; /* 图片与下拉框的间距 */z-index: 1; /* 确保图片在下拉框之上 */}/* 确保 el-select 的下拉菜单不受干扰 */.el-select {width: 200px; /* 设置默认宽度 */position: relative; /* 确保下拉框的弹出层基于此容器定位 */}.el-select-dropdown {z-index: 9999 !important; /* 确保下拉菜单在最上层 */}}
</style>

在这里插入图片描述

相关文章:

w-form-select.vue(自定义下拉框组件)(与后端字段直接相关性)

文章目录 1、w-form-select.vue 组件中每个属性的含义2、实例3、源代码 1、w-form-select.vue 组件中每个属性的含义 好的&#xff0c;我们来详细解释 w-form-select.vue 组件中每个属性的含义&#xff0c;并用表格列出它们是否与后端字段直接相关&#xff1a; 属性解释表格&…...

深入探索 Nginx 的高级用法:解锁 Web 服务器的强大潜能

在当下互联网技术飞速发展的浪潮中&#xff0c;Nginx 凭借其轻量级、高性能的特性&#xff0c;在 Web 服务器和反向代理服务器领域脱颖而出&#xff0c;成为众多开发者和运维工程师的得力工具。它不仅能高效处理静态资源&#xff0c;在负载均衡、反向代理等方面也表现出色。然而…...

iOS开发设计模式篇第二篇MVVM设计模式

目录 一、什么是MVVM 二、MVVM 的主要特点 三、MVVM 的架构图 四、MVVM 与其他模式的对比 五、如何在iOS中实现MVVM 1.Model 2.ViewModel 3.View (ViewController) 4.双向绑定 5.文中完整的代码地址 六、MVVM 的优缺点 1.优点 2.缺点 七、MVVM 的应用场景 八、结…...

kettle与Springboot的集成方法,完整支持大数据组件

目录 概要整体架构流程技术名词解释技术细节小结 概要 在现代数据处理和ETL&#xff08;提取、转换、加载&#xff09;流程中&#xff0c;Kettle&#xff08;Pentaho Data Integration, PDI&#xff09;作为一种强大的开源ETL工具&#xff0c;被广泛应用于各种数据处理场景。…...

详解:TCP/IP五层(四层)协议模型

一.五层&#xff08;四层&#xff09;模型 1.概念 TCP/IP协议模型分为五层&#xff1a;物理层、数据链路层、网络层、传输层和应用层。这五层每一层都依赖于其下一层给它提供的网络去实现需求。 1&#xff09;物理层&#xff1a;这是最基本的一层&#xff0c;也是最接近硬件…...

(七)Mapbox GL JS 表达式初识

以下是关于如何在 Mapbox GL JS 中使用表达式的详细讲解和代码示例。 文章目录 什么是 Mapbox GL JS 表达式&#xff1f;使用场景步骤1. 初始化地图2. 解释表达式 总结 什么是 Mapbox GL JS 表达式&#xff1f; Mapbox GL JS 表达式是一种灵活的样式语言&#xff0c;允许你在 …...

阿里巴巴开发规范手册MySQL

1、MySQL 数据库 1.1、建表规约 1) 表达是与否概念的字段&#xff0c;必须使用 is_xxx 的方式命名&#xff0c;数据类型是 unsigned tinyint&#xff08;1 表示是&#xff0c;0 表示否&#xff09;。 说明&#xff1a;任何字段如果为非负数&#xff0c;必须是 unsigned。 注…...

SpringCloud微服务Gateway网关简单集成Sentinel

Sentinel是阿里巴巴开源的一款面向分布式服务架构的轻量级流量控制、熔断降级组件。Sentinel以流量为切入点&#xff0c;从流量控制、熔断降级、系统负载保护等多个维度来帮助保护服务的稳定性。 官方文档&#xff1a;https://sentinelguard.io/zh-cn/docs/introduction.html …...

Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到

Linux下Ubuntun系统报错find_package(BLAS REQUIRED)找不到 这次在windows的WSL2中遇到了一个非常奇怪的错误&#xff0c;就是 CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message):Could NOT find BLAS (missing: BLAS_LIBRAR…...

私有IP、VLAN和VPC,分别适合哪些场景你知道吗?

当我们在云中构建应用程序&#xff0c;尤其是使用了第三方云服务商的服务并且我们无法完全掌控后端的每部分时&#xff0c;安全性可能是最需要关注的地方。但这是一项充满挑战的工作&#xff0c;因为保护应用程序的方法实在是太多了&#xff01;为了改善安全性&#xff0c;开发…...

【学术会议论文投稿】深度解码:机器学习与深度学习的界限与交融

目录 一、定义与起源&#xff1a;历史长河中的两条轨迹 二、原理差异&#xff1a;从浅层到深层的跨越 三、代码解析&#xff1a;实战中的机器学习与深度学习 机器学习示例&#xff1a;线性回归 深度学习示例&#xff1a;卷积神经网络(CNN) 四、应用差异&#xff1a;各自领…...

一位前端小白的2024总结

目录 简要 一、迷茫点的解决 &#xff08;1&#xff09;前端领域该怎么学&#xff1f; &#xff08;2&#xff09;旧技术还需要学吗&#xff1f; &#xff08;3&#xff09;我该学些什么&#xff1f; 二、折磨点的解决 &#xff08;1&#xff09;学技术成果回报太慢怎么…...

状态模式——C++实现

目录 1. 状态模式简介 2. 代码示例 3. 单例状态对象 4. 状态模式与策略模式的辨析 1. 状态模式简介 状态模式是一种行为型模式。 状态模式的定义&#xff1a;状态模式允许对象在内部状态改变时改变它的行为&#xff0c;对象看起来好像修改了它的类。 通俗的说就是一个对象…...

C# 控制打印机:从入门到实践

在开发一些涉及打印功能的应用程序时&#xff0c;使用 C# 控制打印机是一项很实用的技能。这篇文章就来详细介绍下如何在 C# 中实现对打印机的控制。 一、准备工作 安装相关库&#xff1a;在 C# 中操作打印机&#xff0c;我们可以借助System.Drawing.Printing命名空间&#x…...

【一个按钮一个LED】用STM32F030单片机实现苹果充电器的定时装置

文章目录 前言一、要实现的功能1、循环定时2、倒计时3、指示灯提示4、使用场景二、实现方法1、使用方法2、电路设计三、程序代码和成品1.定时中断子程序2.键值处理3.主函数总结前言 笔者前几年买苹果手机、IPAD配的适配器是A1443型号,这种5V1A,USB-A口、小功率的适配器,苹果…...

ansible自动化运维实战--script、unarchive和shell模块(6)

文章目录 一、script模块1.1、功能1.2、常用参数1.3、举例 二、unarchive模块2.1、功能2.2、常用参数2.3、举例 三、shell模块3.1、功能3.2、常用参数3.3、举例 一、script模块 1.1、功能 Ansible 的 script 模块允许你在远程主机上运行本地的脚本文件&#xff0c;其提供了一…...

LLM大模型实践18-评估(上)——存在一个简单的正确答案

准备数据 products_and_category { "电脑和笔记本": [ "TechPro 超极本", "BlueWave 游戏本", "PowerLite Convertible", "TechPro Desktop", "BlueWave Chromebook" ], "智能手机和配件": [ "…...

力扣-数组-704 二分查找

解析 经典二分&#xff0c;重点在于左闭右闭区间约定好后&#xff0c;根据定义更新边界 代码 class Solution { public:int search(vector<int>& nums, int target) {int left 0, right nums.size() - 1;while(left < right){int mid (left right) / 2;if(…...

K8S 快速实战

K8S 核心架构原理: 我们已经知道了 K8S 的核心功能:自动化运维管理多个容器化程序。那么 K8S 怎么做到的呢?这里,我们从宏观架构上来学习 K8S 的设计思想。首先看下图: K8S 是属于主从设备模型(Master-Slave 架构),即有 Master 节点负责核心的调度、管理和运维,Slave…...

C#集合操作优化:高效实现批量添加与删除

在C#中&#xff0c;对集合进行批量操作&#xff08;如批量添加或删除元素&#xff09;通常涉及使用集合类型提供的方法和特性&#xff0c;以及可能的循环或LINQ查询来高效地处理大量数据。以下是一些常见的方法和技巧&#xff1a; 批量添加元素 使用集合的AddRange方法&#x…...

Unity|小游戏复刻|见缝插针1(C#)

准备 创建Scenes场景&#xff0c;Scripts脚本&#xff0c;Prefabs预制体文件夹 修改背景颜色 选中Main Camera 找到背景 选择颜色&#xff0c;一种白中透黄的颜色 创建小球 将文件夹里的Circle拖入层级里 选中Circle&#xff0c;位置为左右居中&#xff0c;偏上&…...

【Redis】持久化机制

目录 前言&#xff1a; RDB 触发RDB持久化方法有俩种&#xff1a; 1.手动触发 2.自动触发 RDB文件的优缺点&#xff1a; AOF: AOF工作机制&#xff1a;​编辑 ​编辑重写机制&#xff1a; 前言&#xff1a; Redis是一个内存数据库&#xff0c;将数据存储在内存中&…...

AWScurl笔记

摘要 AWScurl是一款专为与AWS服务交互设计的命令行工具&#xff0c;它模拟了curl的功能并添加了AWS签名版本4的支持。这一特性使得用户能够安全有效地执行带有AWS签名的请求&#xff0c;极大地提升了与AWS服务交互时的安全性和有效性。 GitHub - okigan/awscurl: curl-like acc…...

5_高并发内存池项目内存优化、页号与Span映射关系使用基数树优化及测试性能与malloc、free比较

申请/释放 内存大小申请方式释放方式x≤256KB&#xff08;32页&#xff09;向ThreadCache申请释放给ThreadCache32页<x≤128页向PageCache申请释放给PageCachex&#xff1e;128页向堆申请释放给堆 一、解决大于256KB的大块内存申请 &#xff08;一&#xff09;申请大于256…...

深入剖析C++中cin的原理、应用与进阶实践

一、引言 1.1 研究背景与目的 在 C 编程领域&#xff0c;cin 作为标准输入流对象&#xff0c;扮演着举足轻重的角色&#xff0c;是实现程序与用户交互的关键工具。它允许程序从标准输入设备&#xff08;通常是键盘&#xff09;读取数据&#xff0c;并将其存储到程序变量中&am…...

我国的金融组织体系,还有各大金融机构的分类,金融行业的组织

中国金融组织体系介绍 中国金融组织体系是一个复杂而多层次的系统&#xff0c;涵盖了各种类型的金融机构和监管机构。以下是关于中国金融组织体系的详细介绍&#xff0c;包括一行三会等金融监管机构&#xff0c;各大金融机构的分类、涉及的银行以及行业组织。 &#xff08;一…...

十三、数据的输入与输出(4)

数据的输出 write.table()函数 write.table&#xff08;&#xff09;函数的基本格式如下所示。 write.table(x, file "", quote TRUE, sep "", eol "\n", na "NA", dec ".", row.names TRUE, c…...

基于Java Web的网上房屋租售网站

内容摘要 本毕业设计题目为《基于Java Web的网上房屋租售网站》&#xff0c;是在信息化时代下充分利用互联网对传统房屋租售方式进行创新&#xff0c;在互联网上进行房屋租售突破了传统方式的局限性。对于房屋租售的当事人都提供了极大的便利。本稳针对了实际用户需求&#xf…...

【MySQL — 数据库增删改查操作】深入解析MySQL的create insert 操作

数据库CRUD操作 1 CRUD简介 CURD是对数据库中的记录进行基本的增删改查操作: 2. Create 新增 语法 INSERT [INTO] table_name[(column [&#xff0c;column] ...)] VALUES(value_list)[&#xff0c;(value_list)] ... # value 后面的列的个数和类型&#xff0c;要和表结构匹配…...

问题修复记录:Linux docker 部署 dify,无法调用宿主机本地服务

使用docker compose启动Dify后,在其中配置本地xinfrence中的模型,报错: get xinference model extra parameter failed, url: http://127.0.0.1:9997/v1/models/bge-m3, error: HTTPConnectionPool(host=‘127.0.0.1’, port=9997): Max retries exceeded with url: /v1/mo…...

【橘子ES】Kibana的分析能力Analytics简易分析

一、kibana是啥&#xff0c;能干嘛 我们经常会用es来实现一些关于检索&#xff0c;关于分析的业务。但是es本身并没有UI,我们只能通过调用api来完成一些能力。而kibana就是他的一个外置UI&#xff0c;你完全可以这么理解。 当我们进入kibana的主页的时候你可以看到这样的布局。…...

如何理解json和json字符串

如何理解网络传输的json到底是什么数据 网络传输的其实是对应的 json字符串 对象&#xff0c;前端接收后会将 json字符串 解析成 json对象 json类型字符串和json对象或者json数组是不一样的&#xff0c;json类型字符串本质是字符串&#xff0c;而json对象是json类型的数据&…...

项目上线后,是否会进行复盘?

是的&#xff0c;定期复盘在软件测试项目里极为关键&#xff0c;我会按以下步骤开展复盘工作&#xff1a; 复盘周期确定 短期项目&#xff1a;针对周期较短&#xff08;如 1 - 2 个月&#xff09;的项目&#xff0c;会在项目结束后的一周内进行复盘&#xff0c;确保大家对项目…...

基于 WEB 开发的手机销售管理系统设计与实现内容

标题:基于 WEB 开发的手机销售管理系统设计与实现 内容:1.摘要 摘要&#xff1a;随着智能手机的普及和电子商务的快速发展&#xff0c;手机销售行业面临着越来越多的挑战和机遇。为了提高销售效率和管理水平&#xff0c;本文设计并实现了一个基于 WEB 的手机销售管理系统。该系…...

SpringBoot篇 单元测试 理论篇

1.单元测试概念介绍 简单来说&#xff0c;单元测试是对软件中的最小可测试单元进行检查和验证。在 Java 中&#xff0c;单元测试的最小单元是类。Spring Boot 提供了 spring-boot-starter-test 依赖&#xff0c;包含了 JUnit、Mockito、Hamcrest 等常用的测试框架1。&#xff0…...

并发编程 - 线程同步(一)

经过前面对线程的尝试使用&#xff0c;我们对线程的了解又进一步加深了。今天我们继续来深入学习线程的新知识 —— 线程同步。 01、什么是线程同步 线程同步是指在多线程环境下&#xff0c;确保多个线程在同时使用共享资源时不会发生冲突或数据不一致问题的技术&#xff0c;保…...

Nginx 性能优化技巧与实践(二)

五、性能优化之负载均衡篇 5.1 负载均衡算法介绍 Nginx 作为一款强大的 Web 服务器和反向代理服务器&#xff0c;其负载均衡功能是提升 Web 服务性能和可靠性的关键。Nginx 支持多种负载均衡算法&#xff0c;每种算法都有其独特的原理和特点&#xff0c;适用于不同的业务场景…...

解密AIGC三大核心算法:GAN、Transformer、Diffusion Models原理与应用

在当今数字化时代&#xff0c;人工智能生成内容&#xff08;AIGC&#xff09;技术正以前所未有的速度改变着我们的生活和工作方式。从创意无限的文本生成&#xff0c;到栩栩如生的图像创作&#xff0c;再到动听的音乐旋律&#xff0c;AIGC的魔力无处不在。而这一切的背后&#…...

qml Dialog详解

1、概述 Dialog是QML&#xff08;Qt Modeling Language&#xff09;中用于显示对话框的组件&#xff0c;它提供了一个模态窗口&#xff0c;通常用于与用户进行重要交互&#xff0c;如确认操作、输入信息或显示警告等。Dialog组件具有灵活的布局和样式选项&#xff0c;可以轻松…...

GL C++显示相机YUV视频数据使用帧缓冲FBO后期处理,实现滤镜功能。

一.前言&#xff1a; GitHub地址&#xff1a;GitHub - wangyongyao1989/WyFFmpeg: 音视频相关基础实现 系列文章&#xff1a; 1. OpenGL Texture C 预览Camera视频&#xff1b; 2. OpenGL Texture C Camera Filter滤镜; 3. OpenGL 自定义SurfaceView Texture C预览Camera视…...

一文了解树与森林基础

文章目录 树和森林1树的存储结构1.1双亲表示法1.2孩子表示法1.3孩子兄弟表示法 2树、森林与二叉树的转换2.1森林与二叉树的转换2.2 树与二叉树的转换 3树和森林的遍历3.1树的遍历3.2森林的遍历3.3 树和森林的遍历与二叉树的遍历关系 4树的应用——并查集4.1并查集及其相关操作4…...

在Docker 容器中安装 Oracle 19c

在 Docker 容器中安装 Oracle 19c 是可行的&#xff0c;但它相较于其他数据库&#xff08;如 MySQL、PostgreSQL 等&#xff09;会复杂一些&#xff0c;因为 Oracle 数据库有一些特定的要求&#xff0c;如操作系统和库的依赖&#xff0c;以及许可证问题。 不过&#xff0c;Ora…...

Java TCP协议(2)

TCP可靠传输 五. 流量控制 用来控制发送方的窗口大小&#xff0c;通过接收方返回来的ACK进行反制。 接收方把自己能够处理的数据量主动告诉发送方&#xff0c;从而让发送方动态调整窗口大小。 如果窗口大小为0表示没有空间去接收数据了&#xff0c;主机A就不发数据了&#xf…...

JS基础-操作数组(7)

一.增删改查 1.改 重新赋值 2.增 arr.puch() 末尾追加 arr.unshift() 开头追加 a)案例&#xff1a;数组筛选 3.删除 arr.pop() 删除最后一个元素 arr.shift() 删除第一个元素 splice&#xff08;&#xff09; 删除指定元素...

(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)

城市三维建模与分析 三维城市模型已经成为一种非常普遍的地理空间数据资源,成为城市的必需品,对城市能化管理至关重要。语义信息丰富的三维城市模型可以有效实现不同领域数据与IS相信息的高层次集成及互操作,从而在城市规划、环境模拟、应急响应和辅助决策等众多领域公挥作用、…...

大数据技术笔记

大数据技术概述 本章初步介绍大数据领域技术涉及的一些基础理论&#xff0c;如分布式、存储、网络等知识。 分布式理论 大数据意味数据量大&#xff0c;那么存储和计算数据的节点就不大可能只有一个&#xff0c;而是采用分而治之的思想在多个节点中存储和计算&#xff0c;提…...

【JAVA 基础 第(20)课】JDBC JAVA 连接 MySql 数据库

pom.xml 导入 MySql jar 包 <!-- 导入Mysql数据库链接jar包 --> <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.30</version> </dependency> 数据库驱动、连接封装成…...

如何将使用unsloth微调的模型部署到ollama?

目录 一、将模型保存为gguf格式 二、下载llama.cpp 三、生成 llama-quantize 可执行文件 四、使用llama-quantize 五、训练模型 六、将模型部署到ollama 一、将模型保存为gguf格式 在你的训练代码 trainer.train() 之后添加&#xff1a; model.save_pretrained_gguf(&q…...

Go语言中的值类型和引用类型特点

一、值类型 值类型的数据直接包含值&#xff0c;当它们被赋值给一个新的变量或者作为参数传递给函数时&#xff0c;实际上是创建了原值的一个副本。这意味着对新变量的修改不会影响原始变量的值。 Go中的值类型包括&#xff1a; 基础类型&#xff1a;int&#xff0c;float64…...

grafana新增email告警

选择一个面板 比如cpu 新增一个临界点表达式 input选A 就是A的值达到某个临界点 触发告警 我这边IS ABOVE0.15就是cpu大于0.15%就触发报警&#xff0c;这个值怎么填看指标的值显示 这里要设置一下报警条件 这边随便配置下 配置标签和通知&#xff0c;选择你的邮件 看下告警…...