element plus 使用细节 (二)

接上一篇文章:

  1. element plus 使用细节

最近菜鸟忙于系统开发,都没时间总结项目中使用的问题,幸好还是在空闲之余总结了一点(后续也会来补充),希望能给大家带来帮助!

文章目录

    • table fixed 的 v-bind 写法
    • change事件里面不要访问v-model的数据
      • 答案
    • el-description
    • ElMessageBox.prompt 如何输入多个值

table fixed 的 v-bind 写法

Element plustablefixedv-bind 写法

// 设置是否fixed
const isFixed = computed(() => {return props.fixed ? { fixed: "right" } : {};
});<el-table-column v-bind="isFixed" label="子文库" width="120"><template #default="{ row }"><el-button link type="primary" size="small" @click="showSublib(row)">XXX</el-button></template>
</el-table-column>

change事件里面不要访问v-model的数据

Element Plus 中,change事件里面不要访问v-model的数据,eg:

子组件:

<script setup>  
const model = defineModel();  function handleChange(val) {  model.value = val;  console.log("model.value now is:", model.value);  
}  const options = [  {  value: 'Option1',  label: 'Option1',  },  {  value: 'Option2',  label: 'Option2',  disabled: true,  },  {  value: 'Option3',  label: 'Option3',  },  {  value: 'Option4',  label: 'Option4',  },  {  value: 'Option5',  label: 'Option5',  },  
]  
</script>  <template>  <el-select :model-value="model" @change="handleChange" placeholder="Select" style="width: 240px">  <el-option  v-for="item in options"  :key="item.value"  :label="item.label"  :value="item.value"  :disabled="item.disabled"  />  </el-select>  
</template>

父组件:

<script setup>  
import test from "./test.vue";
const value = ref("Option1");
</script>  <template>  <test v-model="value" />
</template>

大家可以猜猜看这里的运行结果是什么?请大家思考三秒!

在这里插入图片描述

答案

答案是还是旧的值,多切换几次就都是上一次的值!

el-description

el-descriptions 中的 el-descriptions-item 不能用组件的方式插入!

eg:

<el-descriptions class="base-info" style="height: fit-content" :column="3" border>// 这是不能显示的<SampleSublib /><p>样本储位</p><el-descriptions-item label="样本储位"><el-tag type="primary">{{ viewSampleInfoData.fridgeNum }}</el-tag></el-descriptions-item>
</el-descriptions>

sampleSublib组件的内容

<template><el-descriptions-item label="公司代码"><dict-tag:options="crm_contract_company_ownership_opts":value="viewSampleInfoData.sampleCompanyCode"/></el-descriptions-item><el-descriptions-item label="样本类型"><dict-tag :options="sample_type_code_opts" :value="viewSampleInfoData.sampleTypeCode" /></el-descriptions-item><el-descriptions-item label="一级类型"><dict-tag:options="sample_one_level_type_code_opts":value="viewSampleInfoData.sampleOneLevelTypeCode"/></el-descriptions-item><el-descriptions-item label="二级类型"><dict-tag:options="sample_two_level_type_code_opts":value="viewSampleInfoData.sampleTwoLevelTypeCode"/></el-descriptions-item><el-descriptions-item label="二级亚型"><dict-tag:options="sample_two_level_subtype_code_opts":value="viewSampleInfoData.sampleTwoLevelSubtypeCode"/></el-descriptions-item><el-descriptions-item label="三级类型"><dict-tag:options="sample_three_level_type_code_opts":value="viewSampleInfoData.sampleThreeLevelTypeCode"/></el-descriptions-item>
</template>

如果不封装成组件,直接放外面就是会正确显示的!

ElMessageBox.prompt 如何输入多个值

jsx写法:

<template><el-button plain @click="open">多输入框示例</el-button>
</template><script setup>
// 表单数据提升到外部
const createInitForm = () => {return {remaining: "",unit: ""};
};
const formModel = ref(createInitForm());// 模板
const rules = ref({remaining: [{ required: true, message: "请输入剩余量", trigger: "blur" }],
});
const testFormContent = defineComponent({props: {placeholder: String,_formModel: Object,showUnit: Boolean},setup(props) {const unitOptions = ref(sample_count_unit);return () => (<ElForm model={props._formModel} rules={rules.value}><ElFormItem label={`${props.placeholder}`} prop="remaining"><ElInputv-model={props._formModel.remaining}placeholder={`请输入${props.placeholder}`}/></ElFormItem>{props.showUnit && (<ElFormItem label="单位" prop="unit"><ElSelect v-model={props._formModel.unit} placeholder="请选择单位">{unitOptions.value.map((option) => (<ElOption label={option.label} value={option.value} />))}</ElSelect></ElFormItem>)}</ElForm>);}
});const open = () => {ElMessageBox({title: "填写入库信息",message: h(testFormContent, {placeholder: titleArr[props.sampleType],_formModel: formModel.value,showUnit: showUnitFun.value}),showCancelButton: true,confirmButtonText: "确定",cancelButtonText: "取消",customClass: "myElMessageBox",beforeClose: (action, instance, done) => {if (action === "confirm") {ElMessage.success(`剩余量: ${formModel.value.remaining},单位: ${formModel.value.unit}`);done();} else {done();}}});
};
</script>

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

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

相关文章

【机器学习学习笔记】numpy基础2

零基础小白的 NumPy 入门指南如果你想用电竞&#xff08;打游戏&#xff09;的思路理解编程&#xff1a;Python 是基础操作键位&#xff0c;而 NumPy 就是 “英雄专属技能包”—— 专门帮你搞定 “数值计算” 这类复杂任务&#xff0c;比如算游戏里的伤害公式、地图坐标&#x…

从自动化到智能化:家具厂智能化产线需求与解决方案解析

伴随着工业4.0浪潮和智能制造技术的成熟&#xff0c;家具行业正逐步从传统的自动化生产迈向智能化生产。智能化产线的构建不仅可以提升生产效率&#xff0c;还能满足个性化定制和柔性制造的需求。本文以某家具厂为例&#xff0c;详细解析智能化产线的核心需求&#xff0c;并提出…

macOS下基于Qt/C++的OpenGL开发环境的搭建

系统配置 MacBook Pro 2015 Intel macOS 12Xcode 14 Qt开发环境搭建 Qt Creator的下载与安装 在Qt官网的下载页面上下载&#xff0c;即Download Qt Online Installer for macOS。下载完成就得到一个文件名类似于qt-online-installer-macOS-x64-x.y.z.dmg的安装包。 下一步 …

当液态玻璃计划遭遇反叛者:一场 iOS 26 界面的暗战

引子 在硅谷的地下代码俱乐部里&#xff0c;流传着一个关于 “液态玻璃” 的传说 —— 那是 Apple 秘密研发的界面改造计划&#xff0c;如同电影《变脸》中那张能改变命运的面具&#xff0c;一旦启用&#xff0c;所有 App 都将被迫换上流光溢彩的新面孔。 而今天&#xff0c;我…

探究Linux系统的SSL/TLS证书机制

一、SSL/TLS证书的基本概念 1.1 SSL/TLS协议简介 SSL/TLS是一种加密协议&#xff0c;旨在为网络通信提供机密性、完整性和身份验证。它广泛应用于HTTPS网站、电子邮件服务、VPN以及其他需要安全通信的场景。SSL&#xff08;安全套接字层&#xff09;是TLS&#xff08;传输层安全…

python和java爬虫优劣对比

Python和Java作为爬虫开发的两大主流语言&#xff0c;核心差异源于语法特性、生态工具链、性能表现的不同&#xff0c;其优势与劣势需结合具体场景&#xff08;如开发效率、爬取规模、反爬复杂度&#xff09;判断。以下从 优势、劣势、适用场景 三个维度展开对比&#xff0c;帮…

Unity 枪械红点瞄准器计算

今天突然别人问我红点瞄准器在镜子上如何计算&#xff0c;之前的吃鸡项目做过不记得&#xff0c;今天写个小用例整理下。 主体思想记得是目标位置到眼睛穿过红点瞄准器获取当前点的位置就可以。应该是这样吧&#xff0c;&#xff1a;&#xff09; 武器测试结构 首先整个结构&am…

题解 洛谷P13778 「o.OI R2」=+#-

文章目录题解代码居然没有题解&#xff1f;我来写一下我的抽象做法。 题解 手玩一下&#xff0c;随便画个他信心的折线图&#xff0c;如下&#xff1a; 可以发现&#xff0c;如果我们知道终止节点&#xff0c;那么我们就可以知道中间有多少个上升长度。&#xff08;因为它只能…

RTSP流端口占用详解:TCP模式与UDP模式的对比

在音视频传输协议中&#xff0c;RTSP&#xff08;Real-Time Streaming Protocol&#xff0c;实时流传输协议&#xff09;被广泛用于点播、直播、监控等场景。开发者在实际部署或调试时&#xff0c;常常会遇到一个问题&#xff1a;一路 RTSP 流到底占用多少个端口&#xff1f; 这…

websocket的key和accept分别是多少个字节

WebSocket的Sec-WebSocket-Key是24字节&#xff08;192位&#xff09;的Base64编码字符串&#xff0c;解码后为16字节&#xff08;128位&#xff09;的原始随机数据&#xff1b;Sec-WebSocket-Accept是28字节&#xff08;224位&#xff09;的Base64编码字符串&#xff0c;解码后…

单片机开发----一个简单的Boot

文章目录一、设计思路**整体框架设计****各文件/模块功能解析**1. main.c&#xff08;主程序入口&#xff0c;核心控制&#xff09;2. 隐含的核心模块&#xff08;框架中未展示但必备&#xff09;**设计亮点**二、代码bootloader.hbootloader.cflash.cmain.c一、设计思路 整体…

Day2p2 夏暮客的Python之路

day2p2 The Hard Way to learn Python 文章目录day2p2 The Hard Way to learn Python前言一、提问和提示1.1 关于raw_input()1.2 关于input()二、参数、解包、变量2.1 解读参数2.2 解读解包2.3 解读变量2.4 实例2.5 模块和功能2.6 练习前言 author&#xff1a;SummerEnd date…

【C++设计模式】第二篇:策略模式(Strategy)--从基本介绍,内部原理、应用场景、使用方法,常见问题和解决方案进行深度解析

C设计模式系列文章目录 【第一篇】C单例模式–懒汉与饿汉以及线程安全 【C设计模式】第二篇&#xff1a;策略模式&#xff08;Strategy&#xff09;--从基本介绍&#xff0c;内部原理、应用场景、使用方法&#xff0c;常见问题和解决方案进行深度解析一、策略模式的基本介绍1.…

四十岁编程:热爱、沉淀与行业的真相-优雅草卓伊凡

四十岁编程&#xff1a;热爱、沉淀与行业的真相-优雅草卓伊凡今日卓伊凡收到一个问题&#xff1a;「如何看待40岁还在撸代码的程序员&#xff1f;」这让我不禁思考&#xff1a;从何时起&#xff0c;年龄成了程序员职业中的敏感词&#xff1f;在互联网的某些角落&#xff0c;弥漫…

pycharm解释器使用anaconda建立的虚拟环境里面的python,无需系统里面安装python。

Anaconda建立的虚拟环境可以在虚拟环境里设置任何的python版本&#xff0c;pycharm解释器使用anaconda建立的虚拟环境里面的python&#xff0c;比如anaconda建立的虚拟环境1、虚拟环境2&#xff0c;pycharm解释器使用anaconda建立虚拟环境1也可以使用虚拟环境2&#xff0c;根本…

机器学习:后篇

目录 一、KNN算法-分类 样本距离 KNN算法原理 缺点 API 二、模型选择与调优 交叉验证 保留交叉验证(HoldOut) k-折交叉验证(K-fold) 分层k-折交叉验证(Stratified k-fold) 其他交叉验证 三、朴素贝叶斯-分类 理论介绍 拉普拉斯平滑系数 API 四、决策树-分类 理论…

C++17无锁编程实战

在多线程编程里&#xff0c;“锁” 这东西就像把双刃剑 —— 用好了能保数据安全&#xff0c;用不好就麻烦了&#xff1a;大粒度的锁把并发度压得死死的&#xff0c;稍不注意加错锁还可能搞出死锁&#xff0c;程序直接 “僵住”。 但如果能摆脱锁&#xff0c;搞出支持安全并发…

SVT-AV1 svt_aom_motion_estimation_kernel 函数分析

void *svt_aom_motion_estimation_kernel(void *input_ptr) // 运动估计内核主函数&#xff0c;接收线程输入参数{// 从输入参数中获取线程上下文指针EbThreadContext * thread_ctx (EbThreadContext *)input_ptr;// 从线程上下文中获取运动估计上下文指针MotionEstimationCon…

关于NET Core jwt Bearer Token 验证的大坑,浪费3个小时,给各位兄弟搭个桥。

net core 使用jwt Bearer Token 认证获取接口访问权限&#xff0c;前期一阵操作没任何问题&#xff0c;等认证接口写的好了&#xff0c;通过PostMan测试的时候&#xff0c;总是报一个 IDX14102: Unable to decode the header eyJhbGciOiJIUzI1NiIsInR5cCI6 &#xff0c;错误&a…

系统架构设计师备考第14天——业务处理系统(TPS)

一、TPS的核心概念与定位 1. 定义与演进 定义&#xff1a;TPS&#xff08;Transaction Processing System&#xff09;又称电子数据处理系统&#xff08;EDPS&#xff09;&#xff0c;是处理企业日常事务的信息系统&#xff0c;如财务、库存、销售等局部业务管理。历史地位&…