点击修改subTitle的样式
时间: 2024-02-20 14:02:35 浏览: 82
要实现点击修改`subTitle`样式的功能,可以在`<view>`标签上添加一个`@click`事件监听器,当用户点击标签时,触发一个函数来更改`subTitle`的样式。下面是一个示例代码:
```
<template>
<u-collapse>
<u-collapse-item v-for="(item, index) in book_list.bookList" :title="item.title">
<view class="book_list_subtitle" v-for="(itemA, indexA) in item.list" @click="changeStyle(itemA)">
<text :style="{ color: itemA.color, fontSize: itemA.fontSize }">{{ itemA.subTitle }}</text>
</view>
</u-collapse-item>
</u-collapse>
</template>
<script>
export default {
data() {
return {
book_list: {
bookList: [
{
title: 'Book 1',
list: [
{
subTitle: 'Subtitle 1',
content: 'Content 1',
color: 'black',
fontSize: '16px'
},
{
subTitle: 'Subtitle 2',
content: 'Content 2',
color: 'black',
fontSize: '16px'
}
]
},
{
title: 'Book 2',
list: [
{
subTitle: 'Subtitle 3',
content: 'Content 3',
color: 'black',
fontSize: '16px'
},
{
subTitle: 'Subtitle 4',
content: 'Content 4',
color: 'black',
fontSize: '16px'
}
]
}
]
}
}
},
methods: {
changeStyle(itemA) {
if (itemA.color === 'black') {
itemA.color = 'red'
itemA.fontSize = '20px'
} else {
itemA.color = 'black'
itemA.fontSize = '16px'
}
}
}
}
</script>
```
在上面的代码中,我们在`<view>`标签上添加了一个`@click`事件监听器,当用户点击标签时,触发了`changeStyle`方法。该方法接收一个`itemA`对象作为参数,通过判断`itemA`对象中的`color`属性是否为`black`来决定是否更改样式。如果`color`属性为`black`,则将其更改为`red`,将`fontSize`属性更改为`20px`,否则将`color`属性更改为`black`,将`fontSize`属性更改为`16px`。这样,用户每次点击标签时,都会更改`subTitle`的样式。
阅读全文