美文网首页
2022-01-11 uniapp用checkbox实现整个页面

2022-01-11 uniapp用checkbox实现整个页面

作者: 半眼鱼 | 来源:发表于2022-01-11 09:43 被阅读0次

1.uniapp 使用checkbox实现整个页面单选功能,整个页面只能选择一个选项,还是很有趣的,记录一下。
![

](https://img.haomeiwen.com/i1953174/95d3141d45423a64.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

<view v-for="(item,checkIndex) in checkBusinessList" :key="checkIndex">
                    <view class="title">{{checkIndex+1}}.{{item.FixedItemDic.Text}}</view>
                    <view class="uni-list">
                        <checkbox-group @change="checkboxChange">
                            <label class="uni-list-cell uni-list-cell-pd"
                                v-for="(fixedItem,fixedIndex) in item.FixedItems" :key="fixedItem.Id">
                                <view>
                                    <checkbox :value="fixedItem.Id" :checked="fixedItem.IsCheck" />
                                </view>
                                <view ><span>{{fixedItem.Text}}</span> <span style="color:#007AFF">{{fixedItem.FixedScore}}分</span></view>
                            </label>
                        </checkbox-group>
                    </view>
                </view>
                <view class="blank">
                </view>

data() {
            return {
                checkBusinessList: [], //业态规模数组
            }
        },
checkboxChange(e) {
                var me = this
                me.checkStateStep1 = ''
                me.checkBusinessList.forEach(function(data, index) {
                    data.FixedItems.forEach(function(item, index) {
                        if (item.Id == e.detail.value[e.detail.value.length - 1]) {
                            item.IsCheck = true
                            me.checkStateStep1 = e.detail.value[e.detail.value.length - 1]
                        } else {
                            item.IsCheck = false
                        }
                    })
                })
            }

2,使用checkbox实现页面的每一项单选功能

<view v-for="(foodItem,checkFoodIndex) in checkFoodList" :key="checkFoodIndex">
                    <view class="title">{{checkFoodIndex+1}}.{{foodItem.FixedItemDic.Text}}</view>
                    <view class="uni-list">
                        <checkbox-group @change="checkboxFoodChange($event,foodItem.FixedItemDic.Id)">
                            <label class="uni-list-cell uni-list-cell-pd"
                                v-for="(fixedFoodItem,fixedFoodIndex) in foodItem.FixedItems" :key="fixedFoodItem.Id">
                                <view>
                                    <checkbox :value="fixedFoodItem.Id" :disabled="readOnly"
                                        :checked="fixedFoodItem.IsCheck" />
                                </view>
                                <view ><span>{{fixedFoodItem.Text}}</span> <span style="color:#007AFF">{{fixedFoodItem.FixedScore}}分</span></view>
                            </label>
                        </checkbox-group>
                    </view>

data() {
            return {
                checkFoodList: [], //制售食品类别数组
                checkStateStep2: {}, //制售食品选中状态数组
            }
        },
checkboxFoodChange(e, fixedItemDicId) {
                var me = this
                var values = e.detail.value
                me.checkStateStep2[fixedItemDicId] = values.length == 0 ? '' : values[values.length - 1]
                me.checkFoodList.forEach(function(data, index) {
                    data.FixedItems.forEach(function(item, index) {
                        if (item.Id == e.detail.value[e.detail.value.length - 1]) {
                            item.IsCheck = true
                        }
                        if (me.checkStateStep2[data.FixedItemDic.Id] != item.Id) {
                            item.IsCheck = false
                        }
                    })
                })
            },

相关文章

网友评论

      本文标题:2022-01-11 uniapp用checkbox实现整个页面

      本文链接:https://www.haomeiwen.com/subject/jjrbcrtx.html