- 当前 Bug 的表现(可附上截图)
data里面设置了radio要用到的值,如下:
data: {
background_style: [
{ name: '默认', value: {style_name:'', background_color: '', front_color: ''},checked: 'true' },
]
}
在appdata里面看到的是这样的结构:
然鹅,在页面打印出来的是个[object Object]
开始以为只是个object对象,展开就行,
后来typeof()发现他就是个字符串,这有什么解决办法么,各位大佬
- 预期表现
应该是个object对象,而不是字符串。
- 复现路径
- 提供一个最简复现 Demo
JS:
Page({
data: {
background_style: [
{ name: '默认', value: {style_name:'', background_color: '', front_color: ''},checked: 'true' },
{ name: '白色', value: {style_name:'white', background_color: '#fff', front_color: '#ccc'}},
{ name: '黑色', value: {style_name:'blank', background_color: '#000', front_color: '#fff'}},
]
},
radioChange: function (e) {
console.log(e.detail.value)
console.log(typeof (e.detail.value))
}
})
wxml:
<radio-group class="radio-group" bindchange="radioChange">
<label class="radio" wx:for="{{background_style}}" wx:key="name">
<radio value="{{item.value}}" checked="{{item.checked}}" />{{item.name}}
</label>
</radio-group>
谁家的value能设置object,你还是给radio一个自定义属性吧,然后通过这个值在数组里面查找
查文档才发现这个值只能是string
bindchange绑定data-row没办法获取,
bindtap倒是可以,但要多点一下,只能换个思路了,自己写类似radio的view
还是用自定义属性吧
嗯