uniapp怎么使用组件

uniapp使用组件的方法:1、使用props用于父组件给子组件传递参数;2、使用【$emit】用于向父组件传递事件,可携带子组件的参数;3、使用ref获取某个dom节点或子组件的注册引用信息。

uniapp怎么使用组件

本教程操作环境:windows7系统、uni-app2.5.1版本,该方法适用于所有品牌电脑。

推荐(免费):uni-app开发教程

uniapp使用组件的方法:

1、props(props用于父组件给子组件传递参数,参数可以限制类型,可以设置默认值)

2、$emit(事件名,参数1,参数n):用于向父组件传递事件,可携带子组件的参数

3、ref用于获取某个dom节点或子组件的注册引用信息,在父组件的$refs对象里,分别指向dom元素或子组件的实例

4、如需在基本组件的内置事件传递新的参数,可使用$event占位默认参数,如 @change($event,新的参数)

5、插槽,里面可填充任何模板

如下代码为一个弹窗组件:

                                                                                                                                             {{title}}                                                                     {{item.name}}                                                                 确定                                      export default {        name:"popWindow",        props:{            title:{                type:String,                default:"标题"            },            max:{                type:[Number,String],                default:200            },            showPop:{                type:Boolean,                default:false            },            hasAni:{                type:Boolean,                default:true            },            holder:{                type:String,                default:"请输入..."            },            swArr:{                type:Array,                default:function(){                    return [{name:"开关",value:false}];                }            }        },        data(){            return {                textArea:""            }        },methods:{            closePop(){                this.$emit("close");            },            changeSw(e,i){                //console.log(e);                //console.log(i);                this.$emit("change",e.detail.value,i);            },            confirmSet(){                let _self = this;                _self.$emit("click",_self.textArea);            }        }    }          .popup_box{        width: 100%;        height: 100%;        background: rgba(0,0,0,0.5);        position: fixed;        top:0;        left: 0;        z-index: 2000;        padding:0;        .pop_panel{            width: 520upx;            height: auto;            background: #fff;            border-radius: 8upx;            position: absolute;            top:50%;            left: 50%;            transform: translate(-50%,-50%);            .pop_tit{                width: 100%;                padding:30upx 0 10upx 0;                font-size: 30upx;                text-align: center;                font-weight: bold;                box-sizing: border-box;            }            .pop_switch{                width: 100%;                box-sizing: border-box;                padding:0 30upx;                font-size: 28upx;                switch{                    transform: scale(0.6);                }            }            .pop_confirm{                margin-top:20upx;                width: 100%;                text-align: center;                font-size: 28upx;                color: #fff;                background: #009714;                height: 60upx;                line-height: 60upx;                border-bottom-left-radius: 8upx;                border-bottom-right-radius: 8upx;            }            .pop_area{                width: 460upx;                height: 200upx;                min-height: 200upx;                padding:20upx 20upx;                font-size: 26upx;                text-align: justify;                box-sizing: border-box;                border:2upx solid #e6e6e6;                margin:10upx auto;            }            .pop_close{                width:26upx;                height:26upx;                position: absolute;                right: 2upx;                top:-40upx;                image{                    width: 100%;                    height: 100%;                    display: block;                }            }        }        .pop_panel.ani{            animation: fadeIn 0.6s ease 0s 1 alternate;            animation-fill-mode: backwards;        }    } 

登录后复制

用法:

main.js中注册全局组件使用:

import popWindow from 'components/uni-part/pop-window.vue'Vue.component('popWindow',popWindow);

登录后复制

页面中调用:


登录后复制

        data() {            return {                showPop:false,                arr:[{name:"资质证书",value:true}]            }        }     methods: {            changeSw(e,i){                console.log(e,i);                var newArr = _self.arr;                newArr[i].value = e;                _self.arr = newArr;            },            confirmFun(e){                //文本输入框和开关值都在这里了                console.log(e);                console.log(_self.arr);                _self.changePop();            },            changePop(){                _self.showPop = !_self.showPop;            }        }

登录后复制

效果如下:

56388a6604a439f50a91732bbf6a300.png

相关免费学习推荐:uni-app开发教程

以上就是uniapp怎么使用组件的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3032291.html

(0)
上一篇 2025年3月13日 08:43:00
下一篇 2025年3月13日 08:43:11

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • HTML中表单组件

    本文通过实例代码给大家介绍了html 表单组件的知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧 HTML 表单用于搜集不同类型的用户输入。 具体代码如下所示: nbsp;html>        Insert title her…

    编程技术 2025年4月4日
    100
  • vue子组件怎么调用父组件的方法

    方法:1、子组件中通过“this.$parent.event”来调用父组件的方法。2、子组件用“$emit”向父组件触发一个事件,父组件监听这个事件即可。3、父组件把方法传入子组件中,在子组件里直接调用这个方法即可。 本教程操作环境:win…

    2025年4月1日
    400
  • 浅谈Vue中动态组件怎么使用?

    本文文章我们来了解一下vue中的组件,介绍一下动态组件的用法,希望对大家有所帮助! 动态组件在开发的过程中大多数情况下都会用到,当我们需要在不同的组件之间进行状态切换时,动态组件可以很好的满足我们的需求,其中的核心是component标签和…

    2025年4月1日
    200
  • 什么是组件?带你深入理解Vue.js组件!

    什么是组件?本篇文章带大家深入理解一下vue中的组件,聊聊组件的渲染、组件的拓展,希望对大家有所帮助! Vue.js组件的本质及相应的渲染实现 引言 如果你正在使用Vue.js,那么我想你一定对Vue单文件组件(SFC)不陌生,它是Vue.…

    2025年4月1日 编程技术
    100
  • 深入了解Vue组件中的自定义事件

    什么是组件自定义事件?本篇文章带大家深入了解下vue组件中的自定义事件,聊聊自定义事件注意点,希望对大家有所帮助! 组件的自定义事件是一种组件间的通信方式,它适用于子组件向父组件传递数据或行为。(学习视频分享:vue) 原理图 组件的自定义…

    2025年4月1日 编程技术
    200
  • 什么是单元测试?Vue 组件怎么进行单元测试?

    本篇文章带大家了解一下vue 组件的单元测试,介绍一下vue 组件配置单元测试,进行单元测试的方法,希望对大家有所帮助! 我们先来简单解释一下单元测试:就是对函数的输入输出进行测试,使用断言的方式,判断我们输入的用例的结果和我们实际输入的结…

    2025年4月1日 编程技术
    200
  • 浅析Vue中父子组件间怎么通信(父传子|子传父)

    vue中父子组件间怎么通信?下面本篇文章给大家介绍一下父传子和子传父的方法,希望对大家有所帮助! 1、父组件传递给子组件 ⭐⭐ 父组件传递给子组件:通过props属性;【相关推荐:vue、vue】子组件传递给父组件:通过$emit触发事件;…

    2025年4月1日 编程技术
    100
  • 聊聊Vue怎么通过JSX动态渲染组件

    vue怎么通过jsx动态渲染组件?下面本篇文章给大家介绍一下vue高效通过jsx动态渲染组件的方法,希望对大家有所帮助! 一、明确需求 如何渲染动态组件呢?【相关推荐:vue】 有一组数组结构如下: const arr = [   { ta…

    2025年4月1日 编程技术
    200
  • Vue3学习:聊聊组件中怎么使用布尔运算

    (学习视频分享:vuejs入门教程、vuejs入门教程) 同学们大家好,作者又来输出内容了,本文的主要内容是布尔运算。可能不少小伙伴们第一反应是咱们 Javascript 中的 true 和 false,是的没错,它们都是布尔值,但是布尔运…

    2025年4月1日 编程技术
    200
  • 一文聊聊Vue组件生命周期的三个阶段(创建、运行和销毁)

    本篇文章带大家详细介绍一下vue组件生命周期的三个阶段:创建阶段、运行阶段和销毁阶段,希望对大家有所帮助! 组件生命周期 生命周期(Life Cycle)是指一个组件从 创建 -> 运行 -> 销毁 的整个阶段,强调的是一个时间…

    2025年4月1日 编程技术
    100

发表回复

登录后才能评论