vue div 动态排序

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <!-- import CSS -->
    <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
    <template>
        <div v-for="item in list">
            <div style="border: 1px solid burlywood;height:100px;width:300px;margin-top: 10px;" v-if="item === 1">a</div>
            <div style="border: 1px solid brown;height:100px;width:300px;margin-top: 10px;" v-if="item === 2">b</div>
            <div style="border: 1px solid red;height:100px;width:300px;margin-top: 10px;" v-if="item === 3">c</div>
            <div style="border: 1px solid rosybrown;height:100px;width:300px;margin-top: 10px;" v-if="item === 4">d</div>
        </div>
    </template>
</div>
</body>
<!-- import Vue before Element -->
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<!-- import JavaScript -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script>
    new Vue({
        el: '#app',
        data: function() {
            return {
               list:[
                   3,1,4,2
               ]
            }
        }
    })
</script>
</html>

 

Vue 2中创建一个横排的动态排序条状图,可以使用诸如Chart.js这样的图表库结合Vue的指令和组件化特性。以下是简要步骤: 1. **安装依赖**: 首先,在项目中安装`chart.js`库,你可以通过npm或yarn命令行工具进行安装: ```bash npm install chart.js @vue/chartjs --save 或者 yarn add chart.js @vue/chartjs ``` 2. **创建组件**: 创建一个新的Vue组件,例如`BarChart.vue`,并引入`<line-chart>`标签: ```html <template> <div> <canvas ref="barChart"></canvas> </div> </template> <script> import { Bar } from '@vue/chartjs'; export default { name: 'BarChart', components: { Bar, }, data() { return { labels: [], // 数据标签 datasets: [{ // 条形数据集 label: '值', data: [], backgroundColor: 'rgba(75,192,192,0.4)', // 背景色 borderColor: 'rgba(75,192,192,1)', // 边框色 borderWidth: 1, // 边框宽度 }], }; }, methods: { updateChartData(newData) { this.labels = newData.labels; this.datasets[0].data = newData.values; // 更新数据 this.renderChart(this.chartData); // 渲染图表 }, }, mounted() { this.renderChart(this.chartData); }, computed: { chartData() { return { labels: this.labels, datasets: [this.datasets[0]], }; }, }, }; </script> ``` 3. **动态更新数据**: 在父组件或者其他部分,你需要根据业务需求实时获取到数据,并通过`updateChartData`方法传递给`BarChart`组件。 4. **调用组件**: 将`BarChart`组件添加到需要展示条状图的地方,传入数据列表: ```html <template> <div> <!-- 其他内容 --> <BarChart :labels="sortedLabels" :values="sortedValues" /> </div> </template> <script> import BarChart from './components/BarChart.vue'; export default { components: { BarChart, }, data() { return { sortedLabels: [], sortedValues: [], // ...其他数据源 }; }, methods: { sortData() { // 对数据进行排序,然后赋值给sortedLabels和sortedValues this.sortedLabels = ...; this.sortedValues = ...; }, }, // 初始化或事件触发后对数据进行排序并更新图表 }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值