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

龙南建设局网站企业计划书怎么写

龙南建设局网站,企业计划书怎么写,嘉鱼网站建设,discuz做服务网站商品列表 文章目录 商品列表核心步骤创建组件 1. MyTag组件详细步骤双击显示#xff0c;自动聚焦失去焦点#xff0c;隐藏输入框回显标签信息回车修修改内容#xff0c;同时隐藏输入框 MyTable组件详细步骤1-动态的设置整个表格的数据 #xff1a; props2-实现自定义结构-插…商品列表 文章目录 商品列表核心步骤创建组件 1. MyTag组件详细步骤双击显示自动聚焦失去焦点隐藏输入框回显标签信息回车修修改内容同时隐藏输入框 MyTable组件详细步骤1-动态的设置整个表格的数据 props2-实现自定义结构-插槽1-表头自定义2-主体定制 完整代码App.vue组件MyTab.vue组件MyTable组件 最终效果图 核心步骤 MyTag 组件的封装 创建组件 → 初始化 实现功能 1双击显示并开启自动聚焦 ​ 1. v-if v-else dblclick ​ 2. 通过注册全局的自定义指令获取焦点 focus 2失去焦点的时候隐藏输入框 ​ 1. 然后使用blur失去焦点隐藏 3回显标签信息 回显的标签信息是父组件传递过来的 2. 使用 v-model 实现功能简化代码3. v-model value 和 input4内容修改了回车 → 修改标签信息 ​ 1. keyup.enter 触发了回车事件 执行 $emit(‘input’,e.target.value) ​ 2. 然后父组件中的 v-model 底层的 input自动帮我们执行数据渲染回显 My-Table 表格组件的封装 数据不能写死需要动态的传递表格渲染数据 ​ 使用 props 结构不能写死 → 多处结构实现自定义 → 具名插槽 1 表头需要支持自定义 2 主体支持自定义 创建组件 创建组件 → 初始化 1.导入 import MyTag from ./components/MyTag.vue import MyTable from ./components./Mytable.vue2. 注册 components: {MyTag,MyTable }3. 使用 MyTag/MyTag MyTable/MyTable1. MyTag组件详细步骤 双击显示自动聚焦 1.双击显示 1.双击显示 div v-else dblclickhandleedit classtext{{ value }}/div//提供以下方法handleedit() {// 双击切换到显示状态this.isShow true;},2 自动聚焦 2.自动聚焦 // 封装全局自定义指令实现获取焦点当然可以使用$nextTick解决同步Vue的问题达到异步更新效果 Vue.directive(focus, {// el 是我们指令所在的dom元素inserted (el) {el.focus()} })失去焦点隐藏输入框 失去焦点隐藏输入框 使用blur事件失去焦点然后将isShow改为false blurisShow false回显标签信息 在我们双击了触发了编辑功能后显示了输入框然后再自动获得focus。 现在我们需要回显了 使用v-model将父组件的值传递过来 然后子组件使用 props 接受 进行操作 给组件绑定 v-model 指令 MyTag v-modelitem.tag/MyTagprops接收数据并回显渲染 1. props接收数据// 接收父组件传过来的数据 :valueprops: {value: String,},2. 回显渲染//将数据动态的赋值给我们的需要显示的标签:valuevalue回车修修改内容同时隐藏输入框 绑定回车事件 keyup.enter“方法名” keyup.enterhandleEnter提供对应方法 handleEnter 1. 通过$emit(事件名传递的值) 通知父组件 methods: {handleEnter (e) {//子传父将获取到的输入框给父组件通知他修改渲染标签if (e.target.value.trim() ) {alert(修改的内容不能为空)return //通过 input事件 同志父组件监听并修改输入框内容this.$emit(input,e.target.value)}} } 2. 回车后输入框隐藏 this.isShow false到此我们的编辑功能组件实现完毕 MyTable组件详细步骤 1-动态的设置整个表格的数据 props 数据在App.vue中使用父传子实现 1. 动态的属性传递数据 MyTable :dataitem.goods/MyTable2. 接收数据 props: {data: {type: Array,required: true 控制判断} }2-实现自定义结构-插槽 表头自定义主体自定义 目的是为了我们能够灵活的实现结构和数据对应 记得在相应的组件中使用 占好位置 1-表头自定义 1.表头自定义切记使用具名插槽因为我们需要在定制的时候用到相互之间的数据。 !-- 使用插槽动态的定制了表头结构 --template #headth编号/thth名称/thth图片/thth width100px标签/th/template 2-主体定制 2. 主体定制同样的使用具名插槽需要制定并且传递该组件的数据 !-- 使用插槽作用域传递值定制主体的内容 --template #body{ item, index }td{{ index 1 }}/tdtd{{ item.name }}/tdtdimg :srcitem.picture //tdtdMyTag v-modelitem.tag/MyTag/td/template 编辑渲染功能和自定义结构功能就实现完毕了 完整代码 App.vue组件 templatediv classtable-caseMyTable :datagoods!-- 使用插槽动态的定制了表头结构 --template #headth编号/thth名称/thth图片/thth width100px标签/th/template!-- 使用插槽作用域传递值定制主体的内容 --template #body{ item, index }td{{ index 1 }}/tdtd{{ item.name }}/tdtdimg :srcitem.picture //tdtdMyTag v-modelitem.tag/MyTag/td/template/MyTable/div /template-------------------------------------------------------- script export default{ import MyTag from ./components/MyTag.vue import MyTable from ./components/MyTable.vue; export default {// 2.注册组件components: {MyTag,MyTable,},name: TableCase,data() {return {tempText: 水杯,tempText2: 钢笔,goods: [{id: 101,picture:https://yanxuan-item.nosdn.127.net/f8c37ffa41ab1eb84bff499e1f6acfc7.jpg,name: 梨皮朱泥三绝清代小品壶经典款紫砂壶,tag: 茶具,},{id: 102,picture:https://yanxuan-item.nosdn.127.net/221317c85274a188174352474b859d7b.jpg,name: 全防水HABU旋钮牛皮户外徒步鞋山宁泰抗菌,tag: 男鞋,},{id: 103,picture:https://yanxuan-item.nosdn.127.net/cd4b840751ef4f7505c85004f0bebcb5.png,name: 毛茸茸小熊出没儿童羊羔绒背心73-90cm,tag: 儿童服饰,},{id: 104,picture:https://yanxuan-item.nosdn.127.net/56eb25a38d7a630e76a608a9360eec6b.jpg,name: 基础百搭儿童套头针织毛衣1-9岁,tag: 儿童服饰,},],};}, }; /script MyTab.vue组件 templatediv classmy-taginputv-ifisShowv-focusblurisShow false:valuevaluekeyup.enterhandleEnterclassinputtypetextplaceholder输入标签/div v-else dblclickhandleedit classtext{{ value }}/div/div /template---------------------------------------------------script export default {// 接收父组件传过来的数据 :valueprops: {value: String,},data() {return {isShow: false,};},methods: {handleedit() {// 双击切换到显示状态this.isShow true},handleEnter(e) {// 子传父将{输入框的内容}传递给我们的父组件通知他叫他渲染// 由于父组件是 v-model 所以触发事件为 inputif (e.target.value.trim() ) return alert(修改内容不能为空)this.$emit(input, e.target.value)// 回车后输入框隐藏this.isShow false},}, }; /script MyTable组件 templatetable classmy-tabletheadtrslot namehead/slot/tr/theadtbodytr v-for(item,index) in data :keyitem.idslot namebody :item item :index index/slot/tr/tbody/table /template----------------------------------------------------script export default {props: {data: {type: Array,required: true}} } /script最终效果图
http://www.w-s-a.com/news/687157/

相关文章:

  • 网站分享对联广告网站结构的类型
  • 三维家是在网站上做还是在app上北京网站建设 专业10年
  • 模拟网站建设网站建设认准猪八戒网
  • godaddy网站建设教程微信手机网站搭建
  • 网站建设 商城淄博网站制作哪家好
  • 廊坊手机网站团队国际贸易进口代理公司
  • 运用django做网站网站建设问题及解决办法
  • 商丘企业网站服务c mvc 网站开发
  • 太仓建设工程网站广州seo排名外包
  • 成都的教育品牌网站建设做网站不给提供ftp
  • 建站行业市场人力管理系统
  • qq钓鱼网站在线生成器google关键词搜索工具
  • 化妆网站模板移动网站建设模板
  • 欢迎访问语文建设杂志网站网站蓝色配色
  • 最新网站发布重庆城乡建设部网站首页
  • 网站建设费用高鄂尔多斯seo
  • dw做网站怎么发布网站无后台可以上框架
  • 网络公司如何建网站网站的建设需要多少钱
  • 代刷网站推广快速泉州网页定制
  • 网站优秀网站地址做宣传册的公司
  • 苏州高端网站建设咨询wordpress云图插件
  • 河北省建设厅网站重新安装优秀中文网页设计
  • 如何在腾讯云做网站开源站群cms
  • 公司网站建设的意义网易做网站
  • 网络营销案例分析与实践搜外seo
  • 手机建网站挣钱吗wordpress面包屑
  • 淘客做网站怎么备案网站开发工具的是什么
  • 提供大良网站建设郑州网站建设网站开发
  • 邢台做wap网站价格wordpress评论滑动
  • 绝味鸭脖网站建设规划书江苏建设人才网 官网