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

苏州网站建设哪家便宜常德网站建设制作

苏州网站建设哪家便宜,常德网站建设制作,濮阳百度推广,网站资源库建设报价一、先放图片便于理解 需求: 1、el-input触发focus事件,弹出el-table(当然也可以为其添加搜索功能、分页) 2、el-table中的复选共能转化成单选共能 3、选择或取消的数据在el-input中动态显示 4、勾选数据后,因为分页过多,原先选好…

一、先放图片便于理解

需求: 

1、el-input触发focus事件,弹出el-table(当然也可以为其添加搜索功能、分页)

2、el-table中的复选共能转化成单选共能

3、选择或取消的数据在el-input中动态显示

4、勾选数据后,因为分页过多,原先选好的数据容易被埋没,在el-input里手动删除或添加触发input事件,el-table根据原有数据能检索到对应数据

5、若不通过勾选选择信息,手动添加,触发input事件,可一边输入一边检索是否存在所输入的数据

6、选择全部勾选无效

二、封装成组件之后的调用

view部分:

<selectUserInfo ref="selectUser" :inputUserData="form.quauser" @fatherSelect="selectMethod"></selectUserInfo>

 model部分:

  selectMethod(selection) {
//selection参数接收从子组件中传过来的被勾选的用户信息let common;
//通过字符串或数组类型来判断是在table页面勾选后回显input数据还是手动输入input数据if (selection instanceof Array) {
// 无论勾选多少个,只取最新勾选的用户数据let index = selection.length - 1 + ""common = selection[index];} else {
//规范输入操作,因为组件输入input框触发@input事件后根据“-”分割姓名和编号,进行实时检索,返回数据为空,这时操作者能及时修改输入内容,或者在输入过程中查找到对应数据直接勾选即可let reg = /.-[1-9][0-9]{7}$/if (!reg.test(selection)) {
//不符合格式规范,会导致el-input表单校验confirm校验不通过this.form.userInfo= "";return}}      },

三、实现过程

1】el-popover代码
<el-popoverplacement="right"width="400"trigger="click"><el-table :data="gridData" v-loading="loading" ref="userlist"  @select="handleSelectionChange":row-key="row => row.userId"><el-table-column width="150" property="date" label="日期"></el-table-column><el-table-column width="100" property="name" label="姓名"></el-table-column><el-table-column width="300" property="address" label="地址"></el-table-column></el-table><el-input slot="reference" v-model="inputUserDataCopy" style="width" @input="handleInput"><i slot="suffix" class="el-icon-search"></i></el-input>
</el-popover>
 2】elementUI el-popover源码分析
 3】复选框实现单选功能

思路:勾选数据之前取消所有的勾选

避坑:

1、在el-table标签中添加“:row-key='row=>row.userId'”实现勾选翻页的情况下保留勾选;

2、使用@select事件而不是@selection-change事件。在实现单选功能过程中,运用selection-change会发生反复触发以及反复调用函数的情况,就是通过api,clearSlection()和toggleRowSelection()改变的勾选状态也会触发selection-change绑定的方法。

 

触发@select事件后调用handleSelectionChange方法,js代码实现:

       handleSelectionChange(selection) { 
// 当勾选时,取消前一个勾选只选择最后一个 另selection-change是复选框发生该便时调用,由于取消以及toggleRowSelection也会触发会造成一直被调用的状态。select在选择时调用,更适合这里selection.forEach(row => {this.$refs.userlist.clearSelection();this.$refs.userlist.toggleRowSelection(row);});},
4】 勾选的数据按照“姓名-编号”格式显示到input输入框

1、触发@select事件后调用handleSelectionChange(selection)方法,selection参数获取到所勾选函数的用户信息。

2、通过$emit子组件调用父组件方法以及传值的方法,将用户数据传到父组件

 props: {inputUserData: {type: String,default: ""},},  
data(){return{inputUserDataCopy: ""}
},
methods:{handleSelectionChange(selection) { 
// 当勾选时,取消前一个勾选只选择最后一个 另selection-change是复选框发生该便时调用,由于取消以及toggleRowSelection也会触发会造成一直被调用的状态。select在选择时调用,更适合这里selection.forEach(row => {this.$refs.userlist.clearSelection();this.$refs.userlist.toggleRowSelection(row);});this.emit().then(() => {this.inputUserDataCopy = this.inputUserData;});},
//封装一个异步方法,因为要想input v-model绑定的属性发生改变,就不能在props接收的属性上直接操作
//在 this.inputUserDataCopy = this.inputUserData;赋值之前需要先把数据selection用户数据传到父组件emit() {return new Promise((resole, reject) => {this.$emit("fatherSelect", this.selection);resole(true)})},
}, 
5】 根据input值在table页面检索出对应的值
  handleInput() {
// 实现一边输入用户信息一边检索列表是否存在相应信息
//判断条件根据实际情况改变,之所这样是因为我需要“-”符号来区分名字和编号,以检索相应数据if (this.inputUserDataCopy.split("-").length > 1) {this.queryParams.userName = this.inputUserDataCopy.split("-")[1];this.queryParams.userName = this.inputUserDataCopy.split("-")[0];
//改变搜索条件,调用this.handleQuery()进行搜索(常规axios请求响应操作,不做解释)this.handleQuery();
//手动输入含“-”符号的信息会被传输到父组件,前面讲过的,会对这里传过去的数据进行正则test校验this.$emit("fatherSelect", this.inputUserDataCopy);}},
http://www.yayakq.cn/news/489541/

相关文章:

  • 小语种网站案例wordpress提交与筛选
  • 怎么建设和聚享游一样的网站呢常州网站建设czyzj
  • 建设网站公司推荐宣传海报制作app
  • 做百度微信小程序都有哪些网站网站推荐你了解我意思吧
  • 商务网站内容建设教程万盛建设局官方网站
  • 建立网站的准备工作怎么制作软件?
  • 网站建设的收费标准wordpress洋葱
  • 网站的结构包括哪些内容南京网站建设小程序开发 雷仁网络
  • 管理信息系统网站建设网站设计报价.doc
  • 企业官方网站推广建筑培训网官网查询
  • 网站建设与管理简单么南通制作网站的有哪些公司吗
  • 鑫牛元网站建设工业设计展板
  • 建一个资源网站赚钱吗网站常用的优化方法
  • 网站规划与建设心得标准网站建设合同
  • 腾讯网站开发规范石家庄住建局网站
  • 代码模版 网站建设通查询
  • 只做瓶子包装设计的创意网站合山网站建设
  • 做计算机网站绍兴网站建设报价
  • 民宿网站开发的开题报告温州网站建设定制
  • 最好的免费的黄页网站自考本科报名入口官网
  • 正规的网站建设专业公司上海外贸seo公司
  • 电子商务网站建设需要哪些技术微信app下载安装官方版2022网址
  • Excel怎么做网站链接企业网站建设600元
  • 昆明网站代理昆明专业的网站制作建设
  • php网站开发if的代码广州天河区怎么样
  • 什么网站做执法仪wordpress网址采集
  • 备案名称和网站名称关键词优化推广排名多少钱
  • 国外对网站开发的研究wordpress post请求
  • 百度收录收费 重大网站如何用asp做网站
  • 设计网站推荐理由seo课程总结怎么写