Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >vue的修饰符!sync和el-dialog弹窗组件

vue的修饰符!sync和el-dialog弹窗组件

作者头像
leader755
发布于 2022-03-09 06:24:17
发布于 2022-03-09 06:24:17
75600
代码可运行
举报
运行总次数:0
代码可运行

父组件 index.vue:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <info :value="myValue" @valueChanged="e => myValue = e"></info>
</template>

<script>
  inport info from './info.vue';
  export default {
      components: {
          info,
      },
      data() {
          return {
              myValue: 1234,
          }
      },
  }
</script>

子组件 info.vue:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// info.vue组件定义了一个value 属性, 和一个valueChanged事件
<template>
  <div>
    <input @input="onInput" :value="value" />
  </div>
</template>

<script>
  export default {
    props: {
      value: {
        type: String,
      },
    },
    methods: {
      onInput(e) {
        this.$emit("valueChanged", e.target.value);
      },
    },
  };
</script>

通过.sync 可以简化上面代码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// index.vue组件
<info :value.sync="myValue"></info>

//..... methods: { onInput(e) { this.$emit("update:value", e.target.value) } }
//....

实际运用: 父组件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div class="goodsQuery">
    <!--选取商品弹框-->
    <goodsSelect
      :showGoodsSelect.sync="showGoodsSelect"
      :dialogWidth="860"
    ></goodsSelect>
  </div>
</template>
<script>
  import goodsSelect from "./goodsSelect";
  export default {
    name: "goodsQuery",
    components: { goodsSelect },
    data() {
      return {
        showGoodsSelect: false, // 选择商品弹窗
      };
    },
  };
</script>

子组件:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div class="pull-goods">
    <el-dialog
      title="选择商品"
      :visible.sync="isShowGoodsSelect"
      :width="dialogWidth + 'px'"
    >
      <el-form ref="form" label-width="80px;" inline>
        <div class="inlineBlock">
          <el-form-item>
            <el-select
              v-model="selectedName"
              @change="changeSelect"
              class="brand"
              style="width:100px; font-size:12px"
            >
              <el-option
                v-for="item in tradename"
                :label="item.label"
                :value="item.key"
                :key="item.key"
              ></el-option>
            </el-select>
          </el-form-item>
          <!-- <el-form-item v-if="selectedName == '1'" class="marginleft">
          <el-input v-model="params.condition" placeholder="请输入不超过30个字符" style="width:200px;font-size:12px"></el-input>
        </el-form-item>
        <el-form-item v-if="selectedName == '2'" class="marginleft">
          <el-input v-model="params.condition" placeholder="请输入不超过30个数字" style="width:200px;font-size:12px"></el-input>
        </el-form-item>
        <el-form-item v-if="selectedName == '3'" class="marginleft">
          <el-input v-model="params.condition" placeholder="请输入" style="width:200px;font-size:12px"></el-input>
        </el-form-item>
        <el-form-item v-if="selectedName == '4'" class="marginleft">
          <el-input v-model="params.condition" placeholder="请输入" style="width:200px;font-size:12px"></el-input>
        </el-form-item> -->
        </div>
        <el-form-item class="marginleft">
          <el-button type="primary" @click="tkQueryBtn">查询</el-button>
        </el-form-item>
      </el-form>
      <el-table
        :data="tableData"
        v-loading="listLoading"
        style="width: 100%"
        @selection-change="handleSelectionChange"
      >
        <el-table-column
          align="center"
          width="50"
          type="selection"
        ></el-table-column>
        <el-table-column label="商品" width="300">
          <template slot-scope="scope">
            <div class="goodsimg">
              <img
                v-if="scope.row.mainImageUrl"
                :src="scope.row.mainImageUrl + '?x-oss-process=image/resize,m_fixed,h_32,w_32'"
              />
              <img v-else src="~&&/assets/images/logo.png" />
              <span class="lineStandard">{{scope.row | getGoodsStr}}</span>
            </div>
          </template>
        </el-table-column>
        <el-table-column prop="upc" label="商品条码"></el-table-column>
        <el-table-column
          prop="shopBrandName"
          label="商品品牌"
        ></el-table-column>
      </el-table>
      <!-- <pagination position="right" v-show="total>0" :total="total" :page.sync="params.page" :limit.sync="params.rows" @pagination="tkQueryBtn" /> -->
      <div slot="footer">
        <el-button @click="isShowGoodsSelect=false">取 消</el-button>
        <el-button type="primary" @click="confirmBtn(isShowGoodsSelect=false)"
          >确 定</el-button
        >
      </div>
    </el-dialog>
  </div>
</template>

<script>
  export default {
    props: ["showGoodsSelect"],
    computed: {
      isShowGoodsSelect: {
        get() {
          return this.showGoodsSelect;
        },
        set(val) {
          this.$emit("update:showGoodsSelect", val);
        },
      },
    },
  };
</script>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vue表格分页以及增删改查的实际应用
效果 1:表格以及分页 2:增加一条数据 3:删除一条数据 4:修改一条数据 5:查询一条数据 实例: <template> <div class="tab-container"> <d
王小婷
2021/03/17
1.9K0
Vue.js与ElementUI搭建无限级联层级表格组件
今天,回老家了。第一件事就是回家把大屏安排上,写作的感觉太爽了,终于可以专心地写文章了。我们今天要做的项目是怎么样搭建一个无限级联层级表格组件,好了,多了不多说,赶快行动起来吧! 项目一览
马克社区
2022/05/09
1.3K0
Vue + Element UI 实现权限管理系统 前端篇(十四):菜单功能实现
菜单功能实现 菜单接口封装 菜单管理是一个对菜单树结构的增删改查操作。 提供一个菜单查询接口,查询整颗菜单树形结构。 http/modules/menu.js 添加 findMenuTree 接口。 import axios from '../axios' /* * 菜单管理模块 */ // 保存 export const save = (data) => { return axios({ url: '/menu/save', method: 'post'
朝雨忆轻尘
2019/06/18
2K0
vue2.0+Element-ui实战案例
我们将会选择使用一些 vue 周边的库vue-cli, vue-router,axios,moment,Element-ui搭建一个前端项目案例,后端数据接口,会使用json-server快速搭建一个本地的服务,方便对数据的增删改查,
小周sir
2019/09/23
2.3K0
vue2.0+Element-ui实战案例
从零到部署:用 Vue 和 Express 实现迷你全栈电商应用(七)
在之前的六篇教程中我们已经基本实现了迷你全栈电商应用,相信大家对于一个全栈应用的开发已经有了一个全面的认知。但是一个追求完美的工程师是不会吝啬他的艺术创造,仅仅实现应用的功能还不能满足用户的高需求,应用的界面效果也是提高用户体验的关键因素。因此本篇教程将基于 element-ui 组件库重构项目的前端代码,改善迷你电商应用的界面效果,提高用户的体验感。虽然我们可以轻松地引入现成的组件库,但是与之对应的数据处理也值得我们注意,那我会在引入组件库的同时带大家一起踩一踩 element-ui 给我们挖的坑,毕竟踩坑才能成长嘛。
一只图雀
2020/04/07
1.6K0
ElementUI Dialog 对话框,组件之间传值
Dialog 组件的内容可以是任意的,甚至可以是表格或表单,下面是应用了 Element Table 和 Form 组件的两个样例。
py3study
2021/01/29
4.8K0
低代码可视化-PC商城管理系统-产品分类--代码生成器
产品分类在商城管理系统中扮演着至关重要的角色。通过合理的分类,用户能够更快速地找到所需商品,提高购物效率。同时,分类也有助于商城对商品进行更有效的管理和展示,从而提升销售额和用户忠诚度。
用户7154236
2024/10/10
970
低代码可视化-PC商城管理系统-产品分类--代码生成器
TienChin 渠道管理-前端展示渠道信息
在编写 Vue 项目的时候我们可以使用 IDEA 当中提供的一个工具叫做 structure,也就是说可以很轻松的列举出当前 Vue 文件的大致结构,点那个就会跳转到对应的地方。
程序员 NEO
2023/10/12
2910
TienChin 渠道管理-前端展示渠道信息
IDEA+SSM+SpringBoot+Vue+Element UI实现班级管理增删改查
环境搭建 SQL CREATE TABLE `tb_class` ( `c_id` varchar(32) NOT NULL COMMENT '班级ID', `c_name` varchar(50) DEFAULT NULL COMMENT '班级名称', `desc` varchar(200) DEFAULT NULL COMMENT '班级描述', PRIMARY KEY (`c_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; /*Data for
陶然同学
2023/02/27
1.3K0
IDEA+SSM+SpringBoot+Vue+Element UI实现班级管理增删改查
前端成神之路-vue前端项目05
1.完成参数管理 2.推送代码到码云 3.制作商品列表页面 4.制作商品添加页面
海仔
2021/05/06
1.5K0
Element 入门教程
Element 入门 官网:https://element.eleme.cn/#/zh-CN 引入 Element 的 css、js文件和 Vue.js ```html <script src="js/vue.js"></script> <script src="element-ui/lib/index.js"></script> <link rel="stylesheet" href="element-ui/lib/theme-chalk/index.css"> ``` 创建 Vue 核心对象 `
ruochen
2022/03/07
2.7K0
Element 入门教程
Vue电商实践项目(二)
1.实现后台首页的基本布局 2.实现左侧菜单栏 3.实现用户列表展示 4.实现添加用户
用户6808043
2022/02/24
5.1K0
SaaS-HRM企业管理
在src目录下创建文件夹,命名规则:module-模块名称()在文件夹下按照指定的结构配置assets,components,pages,router,store等文件
cwl_java
2020/01/02
1.1K0
二开vue-admin-template-4-curd
腾云先锋(TDP,Tencent Cloud Developer Pioneer)是腾讯云GTS官方组建并运营的技术开发者群体。这里有最专业的开发者&客户,能与产品人员亲密接触,专有的问题&需求反馈渠道,有一群志同道合的兄弟姐妹。来加入属于我们开发者的社群吧!
无敌小菜鸟
2022/04/02
3800
二开vue-admin-template-4-curd
4. 许愿墙后台管理系统(前端页面)
许愿墙的后台管理系统主要有4个模块:登录模块、首页模块、许愿管理模块和管理员管理模块。使用前后端分离方式,后端接口使用Express框架,前端使用Vue框架,页面使用Element组件。这节实现前端页面。
爱学习的程序媛
2022/04/07
9560
4. 许愿墙后台管理系统(前端页面)
10. CMDB前端开发-IDC管理
alexhuiwang
2023/05/26
1.2K0
10. CMDB前端开发-IDC管理
手把手教你搭建Spring Boot+Vue前后端分离
前后端分离是目前互联网开发中比较广泛使用的开发模式,主要是将前端和后端的项目业务进行分离,可以做到更好的解耦合,前后端之间的交互通过xml或json的方式,前端主要做用户界面的渲染,后端主要负责业务逻辑和数据的处理。
闫同学
2022/10/31
6K0
手把手教你搭建Spring Boot+Vue前后端分离
实现简单前后端完全分离增删改查:node.js+mysql+vue
(由于不是大项目,全部使用CDN链接资源) 在根目录新建一个文件 index.html 代码如下
不愿意做鱼的小鲸鱼
2022/09/24
2.1K0
实现简单前后端完全分离增删改查:node.js+mysql+vue
Vue
通过前面的介绍,我们对目前的项目工程化有了大体了了解,那么其中,在第二阶段的工程化演进中,有一个重要的工程设计理念诞生,他就是著名的 MVC 设计模式,简单点,MVC 其实就是为了项目工程化的一种分工模式;
jinghong
2020/05/12
7K0
Vue
Vue + Element UI 实现权限管理系统 前端篇(十二)
 而具体的Mock接口,把根路径移除,因为在生成Mock的时候会自动把根路径加上去。
朝雨忆轻尘
2019/06/18
1.4K0
推荐阅读
相关推荐
vue表格分页以及增删改查的实际应用
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文