小程序怎么实现多项单选提交选中的值,可取消选中?

小程序怎么实现多项单选提交选中的值,可取消选中?,第1张

可以使用js的splice方法

arrayObject.splice(index,howmany,item1,.....,itemX)

index必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany必需。要删除的项目数量。如果设置为 0,则不会删除项目。

item1, ..., itemX可选。向数组添加的新项目。

方法有两种:

一:采用css的zoom属性

zoom缩放会将元素保持在左上角,并且会有毛边,可能会稍稍改变元素原来的形状。

二:采用css3的transform:scale属性

zoom缩放会将元素保持在中间,不会改变元素原来的形状,但是可能会有稍稍的模糊。

整体来说zoom属性与transform:scale属性主要存在如下几点差异

1、zoom的缩放是相对于左上角的;而scale默认是居中缩放;

2、zoom的缩放改变了元素占据的空间大小;而scale的缩放占据的原始尺寸不变,页面布局不会发生变化;

3、zoom和scale对元素的渲染计算方法可能有差异(需要自己动手,用高清图,仔细去看其中的区别)。

4、对文字的缩放规则不一致。zoom缩放依然受限于最小12像素中文大小限制;而scale就是纯粹的对图形进行比例控制,文字50%原来尺寸。

最后Anne在这里建议大家如果需要在小程序开发中修改单选框和复选框大小最好采用transform:scale属性,因为采用css的zoom属性时,形状被改变的有些明显,体验很不好。

有两种获取方法:

1. 在所有单选按钮组外边套一个 form 组件,并且加一个包含属性 formType="submit" 的

button 按钮,每组单选按钮的 name 使用你的 data-index,选择完闭后点击按钮,在

bindsubmit 绑定的方法中可以获取到所有值:

formSubmit(event) {

const values = event.detail.value

const result = Object.keys(values).sort().map(key => values[key])

console.log(result)// 此时的 result 就是一个按顺序(name)排序的

}

2. 使用 radio-group 的 bindchange,设置值时用 data-index 确定位置。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12193256.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存