uniapp单选多选全选
时间: 2023-07-24 07:05:06 浏览: 258
iOS 单选多选
在uniapp中实现单选、多选和全选的方式有很多种,下面是其中一种可行的方法:
1. 单选
首先,在数据源中添加一个选中属性(例如isSelected),表示该项是否被选中。然后,在模板中使用v-model绑定isSelected属性即可实现单选。
```html
<template>
<div>
<div v-for="(item, index) in dataList" :key="item.id">
<input type="radio" :value="index" v-model="selectedIndex">
{{ item.name }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
selectedIndex: -1,
dataList: [
{ id: 1, name: '选项1', isSelected: false },
{ id: 2, name: '选项2', isSelected: false },
{ id: 3, name: '选项3', isSelected: false }
]
}
}
}
</script>
```
2. 多选
同样,在数据源中添加一个选中属性(例如isSelected),表示该项是否被选中。然后,在模板中使用v-model绑定一个数组,选中的项会被添加到该数组中。
```html
<template>
<div>
<div v-for="(item, index) in dataList" :key="item.id">
<input type="checkbox" :value="index" v-model="selectedList">
{{ item.name }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
selectedList: [],
dataList: [
{ id: 1, name: '选项1', isSelected: false },
{ id: 2, name: '选项2', isSelected: false },
{ id: 3, name: '选项3', isSelected: false }
]
}
}
}
</script>
```
3. 全选
首先,在数据源中添加一个选中属性(例如isSelected),表示该项是否被选中。然后,添加一个全选按钮,当点击全选按钮时,将所有项的isSelected属性设置为true或false即可实现全选。
```html
<template>
<div>
<button @click="selectAll">全选</button>
<div v-for="(item, index) in dataList" :key="item.id">
<input type="checkbox" :value="index" v-model="selectedList">
{{ item.name }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
selectedList: [],
dataList: [
{ id: 1, name: '选项1', isSelected: false },
{ id: 2, name: '选项2', isSelected: false },
{ id: 3, name: '选项3', isSelected: false }
]
}
},
methods: {
selectAll() {
this.dataList.forEach(item => {
item.isSelected = true
})
this.selectedList = this.dataList.map((item, index) => index)
}
}
}
</script>
```
以上是实现单选、多选和全选的简单示例,具体的实现方式可以根据实际需要进行调整。
阅读全文