首页 > 其他分享 >前端基于 radio 增强单选框组件

前端基于 radio 增强单选框组件

时间:2023-06-10 16:23:52浏览次数:35  
标签:name 单选框 items value current radio 组件 事项 tmpObj

前端基于radio增强单选框组件, 下载完整代码请访问uni-app插件市场地址:https://ext.dcloud.net.cn/plugin?id=12977

效果图如下:

 


 
 
 

#

#### 使用方法

```使用方法

<!-- radioData:单选数据 curIndex:当前选择序列 @change:单选事件 -->

<ccRadioView :radioData="items" :curIndex="current" @change="radioChange"></ccRadioView>

```

#### HTML代码部分

```html

<template>

<view>

<!-- radioData:单选数据 curIndex:当前选择序列 @change:单选事件 -->

<ccRadioView :radioData="items" :curIndex="current" @change="radioChange"></ccRadioView>

<button class="botBtn" type="primary" @click="submitBtnClick">完成</button>

<!-- 设置按钮下面仍然可以滑动 -->

<view style="height: 30px;"></view>

</view>

</template>

```

#### JS代码 (引入组件 填充数据)

```javascript

<script>

import ccRadioView from '../../components/ccRadioView.vue'

export default {

components:{

ccRadioView

},

data() {

return {

items: [{

value: '1',

name: '事项一'

},

{

value: '2',

name: '事项二',

checked: ''

},

{

value: '3',

name: '事项三'

},

{

value: '4',

name: '事项四'

},

{

value: '5',

name: '事项五'

},

{

value: '6',

name: '事项六'

},

{

value: '7',

name: '事项七'

},

{

value: '8',

name: '事项八'

},

],

current: 0,

};

},

onLoad(e) {

let tmpObj = {};

if (typeof(e.obj) === 'string') {

tmpObj = JSON.parse(e.obj);

// 查找元素位置

this.current = this.items.findIndex((el) => {

return el.name === tmpObj.name

});

}

console.log("序列 = " + this.current);

console.log("正向传值 = " + JSON.stringify(tmpObj));

},

methods: {

radioChange: function(evt) {

for (let i = 0; i < this.items.length; i++) {

if (this.items[i].value === evt.target.value) {

this.current = i;

break;

}

}

},

submitBtnClick: function(e) {

console.log("选中的条目 = " + JSON.stringify(this.items[this.current]));

this.$eventHub.$emit('fire', this.items[this.current]);

uni.navigateBack({

delta:1

})

}

}

};

</script>

```

#### CSS

```CSS

<style>

/*每个页面公共css */

.botBtn {

width: 90%;

margin-left: 5%;

margin-top: 80rpx;

height: 92rpx;

/* */

}

</style>

```

标签:name,单选框,items,value,current,radio,组件,事项,tmpObj
From: https://www.cnblogs.com/ccVue/p/17471466.html

相关文章

  • 能让你生活更容易的6个AI组件(除了ChatGPT)
    目录1、Tom:AI驱动的演示构建者2、QuillBot:一个AI工具可以增强你的写作能力3、Descript:更容易的视频与音频的编辑4、BHuman:上规模的AI驱动的个性化视频5、CleanupPictures6、NotionAI:写作更快并且增加你的创造力但是,那不是全部。除了生成文本,NotionAI也是一个强大的编辑器。他......
  • Vue进阶(幺贰零):父组件获取子组件验证结果
    (文章目录)一、前言在开发Vue项目过程中,代码复用之自定义组件是常做事情。当子组件为form表单的时候,父组件需要获取子组件(表单)的验证结果。尽管有prop和事件,但是有时仍然需要在JavaScript中直接访问子组件。为此可以使用ref为子组件指定一个引用ID。ref被用来给元素或子......
  • React - 04 函数组件的底层渲染机制
    1.函数组件创建:在SRC目录中,创建一个xxx.jsx的文件,就是要创建一个组件;我们在此文件中,创建一个函数,让函数返回JSX视图「或者JSX元素、virtualDOM虚拟DOM对象」;这就是创建了一个“函数组件”!!调用:基于ES6Module规范,导入创建的组件「可以忽略.jsx后缀名」,然后像写标签一样调用这个组......
  • 前端vue简单好用的上拉加载下拉刷新组件,支持列表分页 本地分页
    前端vue简单好用的上拉加载下拉刷新组件,支持列表分页本地分页, 下载完整代码请访问uni-app插件市场地址: https://ext.dcloud.net.cn/plugin?id=12942效果图如下:    ####使用方法```使用方法<!--pullDown:下拉刷新back-top:回到顶部 --><ccPullScro......
  • Python使用tkinter的Treeview组件实现表格功能
    fromtkinterimportTk,Scrollbar,Framefromtkinter.ttkimportTreeview#创建tkinter应用程序窗口root=Tk()#设置窗口大小和位置root.geometry('500x300+400+300')#不允许改变窗口大小root.resizable(False,False)#设置窗口标题root.title('通信录管理系统')#使......
  • Python+tkinter动态创建与销毁组件小案例
    本文代码演示了如何在tkinter窗体上动态创建组件以及销毁组件的方法。importtkinterimporttkinter.messageboximporttkinter.simpledialogbtnList=[]#动态创建组件,并计算组件在窗体上的位置defplace(n):foriinrange(n):exec('btn'+str(i)+'=tkinter.B......
  • Python使用tkinter组件Label显示简单数学公式
    任务描述:使用Python+tkinter编写GUI程序界面,使用Label组件显示简单数学公式。参考代码:运行效果:......
  • Python+tkinter动态显示与隐藏窗口上的组件
    使用Python+tkinter创建应用程序窗口,根据需要动态显示和隐藏特定的组件。可能的应用场景:多个相似的功能共用同一个窗口,根据标志位来控制需要隐藏和显示哪些组件。如果整个界面在完成某个功能时完全不需要显示某个组件,也可以根据标志位的不同选择性地执行组件的place()方法。参考代......
  • el-radio默认水平排列变垂直排列
    el-radio默认是水平排列的,在项目里面是竖直排列,我用块级元素div嵌套不起作用,最后的解决方法是:1:deep(.el-radio-group){2display:block;3}45:deep(.el-radio){6display:block;7} ......
  • el-dialog-form组件封装,真的好用,可以让你开发效率提高
    1、新建DialogForm.vue文件<template><divclass="base-dialog"><el-dialog:type="type":custom-class="customClass":close-on-click-modal="closeOnClickModal":visible="vi......