【NativeUI下的data table备注信息的快捷输入-会议签到补充】

NativeUI下的data table备注信息的快捷输入-会议签到补充

  • 概述
  • 结构
  • 本文任务
  • 子组件在列中定制显示
  • 父组件的备注补充
  • 父组件的便捷输入按钮
  • 父组件快捷按钮给子组件的备注用
  • 最后固定在底部

概述

本文讲述Vue3的数据和函数在父组件,子组件的交互,以NativeUI的datatable为载体,实现签到信息和快捷短语的点击输入, 从行备注,到总体备注,均可点击实现采集,且文本框是基础,可任意定制,实现了,便捷和灵活.
代码太乱,关键点说一下.
在这里插入图片描述

结构

就是做vue截图的报表,App.vue有同一组件HelloWorld.vue,用了两次,将left,right,的ref标签给它们, 定义自己的data,还有propers, 用于emit的@custem-event是一样的,采用propers里的tst参数,判断是来自不同部分的emit提交.两个组件有各自的数据.分开处理.
如果传入的参数是ref.归App.vue掌握, 比如data 1…20,其中,1-10给left,11-20给right.那么应该可以,通过综合管理数据,来实现交换.目前未做测试.对内部数据结构了解不那么深入.

本文任务

呈现签到列表,并定制显示,让页面可以方便添加补充备注信息.如请假,未包在临时模板的临时人员. 作为截屏打印的最后步骤,这里是系统的最后一步.结束后就手工了.
由于上面提到的左右两个子控件,数据目前是分开管理.所以给实现添加了复杂度. 如果只在App.vue中,综合管理,我想可能会简便的多, 就如同分了两页,只是同时出现.就不会这么折腾.话说Vue挺折腾人的.但是效果和下次都会更好.进入正题.

子组件在列中定制显示

在列的返回内容中使用render,h去显示成需要的样子.

  1. 本例中,第一二列,站点,和姓名显示为NText,并将’,'分割的名字,拆分成数组,遍历后均显示成NText,为其加入onclick事件响应/
  2. 第3列备注,显示为NInput, 考虑了NPopSelect.代码复杂且不支持任意输入,也考虑了右键菜单.和NPopSelect有一样的缺点.备注信息,不考虑远端保存.只做排版使用,因为开始并没这样的打算.要是综合成和其他人名信息一样. 对后台改动大,另外添加了,server负担.
  3. 每个子组件有一个自己的notes =ref(new Array())
    根据行号分配给表格的每一行.保存备注信息.
  4. 对notes进行json化,onmounted. load, onUpdataValue save localManage.管理,也就是浏览器的本地存储字典.

父组件的备注补充

除了每行的备注,在父组件的下部有一个总补充是textArea,用于存放长的信息,在这里需要接受子组件的点击数据,比如要提到某个人请假.需要单击人名后,出现的这里.所以我用的了两种实现方法

  1. 使用子组件属性,指定父组件的方法.追加到textarea.简单直接子组件const propers= defindProper { name: toparent,type Function}. setup(propers) 在父组件中
  2. 使用子组件的emit,据查是子组件发出一个事件提醒,父组件接受后执行.可以传递,1到多个参数,在父组件的声明方式 <child @send-event="parentFunc"> 子组件 调用方式在非setup语法糖下更简捷setup(propers, {emit}) 的要用的地方emit('send-event',[someparame of parentFunc])
  3. 实现流程,父组件 parentFunc 定义追加textarea的方式. 子组件send-event,调用parentFunc,实现追加.

父组件的便捷输入按钮

在实现人名差分并可点击后的时候,实现了个快捷输入关键词的办法.可以无需改动的拿到父组件,给输入框,提供便捷输入.当点某个词的时候,自动追加到输入框.
使用在template中 <div id='btnContainer'></div> 在js中 btnCon= document.getElmentbyID('btnContainer'); reander (h(NInput)[no], btnCon)

textarea处于父组件. 使用template 中 v-mode="parentnote" 同时js中,'const parentnode=ref("")
同时, onchang= savetoLocalManager()
保持数据同步改变,并长期存储.每日一条新的.在快捷按钮点击时,快捷提条追究.这一块就没事了. onmounted loadFromLocalManager 加载初始化 parentnote,更新textarea的数据. 这样会议签到刚开始,就能计入补充事项,请假信息.

父组件快捷按钮给子组件的备注用

由于之前的设计,子组件使用自己的数据,这让操作变得很复杂.首先,子组件备注NInput被激活. 然后点按钮,激活的NInput加入按钮词条. 加入,两个子组件用了一套父组件的顺序数据,只需要告诉父组件,激活onFocus的index,索引,就可以父组件给数据赋值.需要的话,存储就行. 现在,除了索引,还需要标识是哪个子组件传递的. 使用一个单独的属性tst,来表示. emit('notefous', index,tst)在父组件<child @notefocus='parentTip'> 只是把index,存到变量,tst转化成 两个控件, nowDatagrid.增加了很大的复杂度. 在转换的前,想好怎么引用. template <child ref='leftDatagrid'>, jsleftDatagrid=ref(null)虽然声明是null, 的mount的时候会绑定到 对于名称的child元素. 然后 tst,判断nowDatagrid.value=leftDategrid.
剩下的当快捷按键点击, nowDatagrid.value.notes[index]='keyword' 并且当单行备注,一次点击后,应该自动失去焦点, 把index赋值-1,用于下一次,否则会始终在它上面追加. 由于,下拉select,有些复杂,用一批数据存储多次.不太适合.我以为官网应该有一个,下拉数据控件,给大家用.

最后固定在底部

使用bootstrap,在index.html也加入css,作为单独扩充,调试不可见,只在发布起作用.也可加入到定向,静态文件,调试可见.然后,把快捷按键组,放入 nav,并固定在bottom. 给body的css加入 padding-bottom:50.
这样实现了,固定在底部的作用.

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

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

相关文章

从本地到云端:Linux上快速搭建Cloudreve云盘并实现远程管理

文章目录 前言1. 安装Docker2. 使用Docker拉取镜像3. 创建并启动Cloudreve容器4. 本地访问测试5. 公网远程访问本地Cloudreve5.1 内网穿透工具安装5.2 创建远程连接公网地址5.3 使用固定公网地址远程访问 前言 大家好&#xff01;今天我们要聊聊如何在Linux系统上&#xff0c;…

如何简化App Store提现?——作为游戏开发者的跨境收款体验分享

目录 如何简化App Store提现&#xff1f;——作为游戏开发者的跨境收款体验分享跨境收款常见的几个问题使用万里汇收款后的体验1. 结算流程简单&#xff0c;到账更快2. 多场景收付更灵活3. 多种支付方式支持 使用后的效果&#xff1a;资金管理更高效个人建议 如何简化App Store…

JavaScript void 运算符

void定义&#xff1a; void 运算符对给定的表达式进行求值&#xff0c;然后返回undefined。void是一个一元运算符&#xff0c;接受单个操作数&#xff0c;可以是任何类型&#xff0c;返回一个 undefined。 void语法&#xff1a; void 在表达式的左边&#xff0c;void 右边的…

Apache DolphinScheduler + OceanBase,搭建分布式大数据调度平台的实践

本文整理自白鲸开源联合创始人&#xff0c;Apache DolphinScheduler PMC Chair&#xff0c;Apache Foundation Member 代立冬的演讲。主要介绍了DolphinScheduler及其架构、DolphinScheduler与OceanBase 的联合大数据方案。 DolphinScheduler是什么&#xff1f; Apache Dolph…

快速上手vue3+js+Node.js

安装Navicat Premium Navicat Premium 创建一个空的文件夹&#xff08;用于配置node&#xff09; 生成pakeage.json文件 npm init -y 操作mysql npm i mysql2.18.1 安装express搭建web服务器 npm i express4.17.1安装cors解决跨域问题 npm i cors2.8.5创建app.js con…

Mac上的免费压缩软件-FastZip使用体验实测

FastZip是Mac上的一款免费的压缩软件&#xff0c;分享一下我在日常使用中的体验 压缩格式支持7Z、Zip&#xff0c;解压支持7Z、ZIP、RAR、TAR、GZIP、BZIP2、XZ、LZIP、ACE、ISO、CAB、PAX、JAR、AR、CPIO等所有常见格式的解压 体验使用下来能满足我所有的压缩与解压的需求&a…

深度学习(十):伦理与社会影响的深度剖析(10/10)

深度学习&#xff1a;伦理与社会影响的深度剖析 一、深度学习的伦理挑战 &#xff08;一&#xff09;数据隐私之忧 深度学习模型的训练往往需要大量数据&#xff0c;而数据的收集过程可能会侵犯个人隐私。例如&#xff0c;据统计&#xff0c;面部识别技术在全球范围内每天会收…

【ubuntu18.04】使用U盘制作ubuntu18.04启动盘操作说明

打开show application 打开Startup Disk 选择镜像 双击选择ubuntu的iso镜像 镜像下载地址 Ubuntu 18.04.6 LTS (Bionic Beaver) 制作镜像 注意&#xff1a; 制作镜像会格式化U盘&#xff0c;记得备份资料 点击Make Startup Disk,弹出如下对话框 点击Yes 输入管理员密码&a…

Mysql基础 01 数据与sql

文章目录 一、基本概念二、mysql的常用命令三、sql规范四、数据类型五、SQL语句 一、基本概念 数据库(database,DB)&#xff1a;存储数据的仓库。 数据库管理系统软件(Database Management System,DBMS)&#xff1a;是一种操作和管理数据库的大型软件。常见的DBMS有oracle、s…

Remix部署智能合约时报错:Gas estimation failed

1、在Remix部署智能合约时报错如下&#xff1a; 2、这时候即使发送交易&#xff0c;也无法部署 3、后来看到有人建议说调整一下GAS LIMIT&#xff0c;调整到30000000也不行&#xff0c;甚至当调整到6000000以后连交易记录都没有了 4、最终解决办法&#xff1a;Remix 和 Ganache…

随机采样之接受拒绝采样

之前提到的逆变换采样&#xff08;Inverse Transform Sampling&#xff09;是一种生成随机样本的方法&#xff0c;它利用累积分布函数&#xff08;CDF&#xff09;的逆函数来生成具有特定分布的随机变量。以下是逆变换采样的缺点&#xff1a; 计算复杂性&#xff1a;对于某些分…

用 Python 爬取淘宝商品价格信息时需要注意什么?

用 Python 爬取淘宝商品价格信息时&#xff0c;需要注意以下方面&#xff1a; 一、法律和道德规范&#xff1a; 遵守法律法规&#xff1a;网络爬虫的行为应在法律允许的范围内进行。未经淘宝平台授权&#xff0c;大规模地爬取其商品价格信息并用于商业盈利等不当用途是违法的…

免费数据集网站

1、DataSearch https://datasetsearch.research.google.comhttp://DataSearch 2、FindData findata-科学数据搜索引擎https://www.findata.cn/ 3、Kaggle Kaggle: Your Machine Learning and Data Science CommunityKaggle is the world’s largest data science community …

在 FPGA 中实现 `tanh` 和 Softplus 函数

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

基于java+SpringBoot+Vue的旅游管理系统设计与实现

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; Springboot mybatis Maven mysql5.7或8.0等等组成&#x…

【Python TensorFlow】入门到精通

TensorFlow 是一个开源的机器学习框架&#xff0c;由 Google 开发&#xff0c;广泛应用于机器学习和深度学习领域。本篇将详细介绍 TensorFlow 的基础知识&#xff0c;并通过一系列示例来帮助读者从入门到精通 TensorFlow 的使用。 1. TensorFlow 简介 1.1 什么是 TensorFlow…

数据库管理-第258期 23ai:Oracle Data Redaction(20241104)

数据库管理258期 2024-11-04 数据库管理-第258期 23ai&#xff1a;Oracle Data Redaction&#xff08;20241104&#xff09;1 简介2 应用场景与有点3 多租户环境4 特性与能力4.1 全数据编校4.2 部分编校4.3 正则表达式编校4.4 随机编校4.5 空值编校4.6 无编校4.7 不同数据类型上…

基于SpringBoot的医药管理系统+LW示例参考

1.项目介绍 系统角色&#xff1a;管理员、收银员功能模块&#xff1a;管理员&#xff08;收银员信息管理、药品管理、药品类别、出库信息管理、入口信息。药品库存图表&#xff09;、收银员&#xff08;药品库存图表、会员积分信息等&#xff09;技术选型&#xff1a;SpringBo…

PH热榜 | 2024-11-07

DevNow 是一个精简的开源技术博客项目模版&#xff0c;支持 Vercel 一键部署&#xff0c;支持评论、搜索等功能&#xff0c;欢迎大家体验。 在线预览 1. SWE-Kit 标语&#xff1a;打造你自己的“德文”——一个像软件工程师一样的智能助手&#xff01; 介绍&#xff1a;SWE-K…

(蓝桥杯C/C++)——基础算法(下)

目录 一、时空复杂度 1.时间复杂度 2.空间复杂度 3.分析技巧 4.代码示例 二、递归 1.递归的介绍 2.递归如何实现 3.递归和循环的比较 4.代码示例 三、差分 1.差分的原理和特点 2.差分的实现 3.例题讲解 四、枚举 1.枚举算法介绍 2.解空间的类型 3. 循环枚举解…