我有一个搜索栏,它从API查询中以
数据:[[id,datafield 1,datafield 2],[id,datafield 1,datafield 2],...]
我想在每一行数据中添加一个开/关按钮。每个按钮都应该有一个独立的方式来判断它是关还是开。我稍后会添加更多的功能,我喜欢它的外观,所以如果可能的话,我想坚持使用v-btn。
按钮逻辑是
<v-btn
color="primary"
variant="outlined"
@click="trackBill"
>{{ this.trackedBtnText }}</v-btn
>
脚本包括
<script>
export default {
data: () => ({ bills: [], trackedBtnText: 'Track', tracked: false }),
methods: {
async showBills() {
this.bills = await showBills(this.keywords);
},
trackBill() {
this.tracked = !this.tracked;
this.trackedBtnText = this.tracked ? 'Tracked' : 'Track';
},
},
};
</script>
当我点击一个按钮时,每个按钮上的文本都会发生变化。我想为每个函数维护一些单独的变量。他们将在开发过程中根据他们获得的数据进行API查询,所以如果他们也能保存其他数据就太好了。
1条答案
按热度按时间zc0qhyus1#
当你需要多次执行某件事情时,尽量使用
v-for
。不要重复更多的代码。只需将您的配置数据放入数组中的对象中。包括定义按钮所需的所有内容,即标题,状态,CSS类,查询所需的数据等:
然后你可以使用
v-for
来绘制按钮:然后可以通过数组访问按钮的状态。
请注意,按钮实际上并不打算用作切换开关,您可能需要考虑使用switches或checkboxes。
下面是一个代码片段(不确定您使用的是Vue 2还是3,所以我选择了2,但这应该没关系)