点击左侧列表的某一项,把这一项的子数据赋值给右侧列表
时间: 2023-12-01 21:03:02 浏览: 62
双listview,根据左边的item去改变右边的数据
5星 · 资源好评率100%
好的,那我来给你举一个例子,这个例子中包含了左侧列表和右侧列表,当你点击左侧列表的某一项时,它的子数据会赋值给右侧列表。
HTML 代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Vue Page with Two Lists</title>
<script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
<script src="your-custom-js-file.js"></script>
</head>
<body>
<div id="app">
<h2>List One</h2>
<ul>
<li v-for="(item, index) in listOne" @click="selectItem(index)">{{ item.title }}</li>
</ul>
<h2>List Two</h2>
<ul>
<li v-for="item in listTwo">{{ item }}</li>
</ul>
</div>
</body>
</html>
```
JS 代码:
```js
var app = new Vue({
el: '#app',
data: {
listOne: [
{ title: 'Item 1', subItems: ['Sub Item 1', 'Sub Item 2', 'Sub Item 3'] },
{ title: 'Item 2', subItems: ['Sub Item A', 'Sub Item B', 'Sub Item C'] },
{ title: 'Item 3', subItems: ['Sub Item X', 'Sub Item Y', 'Sub Item Z'] }
],
listTwo: []
},
methods: {
selectItem: function(index) {
this.listTwo = this.listOne[index].subItems;
}
}
});
```
在这个例子中,我们定义了两个列表 listOne 和 listTwo,其中 listOne 包含了三个项目,每个项目都有一个 title 和一个 subItems 属性。在 HTML 中,我们使用 v-for 指令循环渲染 listOne 中的每一个项目,并且给每个项目绑定了一个点击事件。当点击左侧列表的某一项时,它的索引会被传递给 selectItem 方法,然后方法会将该项的子数据 subItems 赋值给 listTwo,从而实现了右侧列表的更新。
你可以根据自己的需求来修改这个例子,以适应你的项目。
阅读全文