希望新增加的滑动条的开始值是上一个滑动的结束值。
以下是具体代码。望解惑。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<link rel="stylesheet" type="text/css" href="https://unpkg.com/element-ui@1.4.5/lib/theme-default/index.css">
<script src="https://unpkg.com/vue@2.4.4/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui@1.4.5/lib/index.js"></script>
<style type="text/css">
ul,
li {
list-style: none;
}
</style>
</head>
<body>
<div id="app">
<div style="width: 300px;margin:0 auto;">
<el-button type="default" @click="add">增加</el-button>
<el-button type="primary">保存</el-button>
</div>
<ul>
<li v-for="item in items" style="width: 1000px;margin:10px auto;">
<my-component :item="item"></my-component>
<el-button type="button" @click="remove(item)">remove</el-button>
</li>
</ul>
<div>{{ items }}</div>
</div>
<script type="text/javascript">
var Child = {
template: `<span>
<el-slider v-model="item.time"
:format-tooltip="formatTooltip"
:max=96
range
show-stops
></el-slider>
<el-select v-model="item.value" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</span>`,
data: function() {
return {
options: [{
value: 's',
label: '尖'
}, {
value: 'p',
label: '高'
}, {
value: 'f',
label: '平'
}, {
value: 'v',
label: '谷'
}],
label: ""
}
},
props: ['item'],
methods: {
formatTooltip(val) {
var minutes = val * 15;
var hour = Math.floor(minutes / 60);
var hour = hour < 10 ? "0" + hour : hour
var minute = minutes % 60;
var minute = minute < 10 ? "0" + minute : minute
var output = hour + ":" + minute;
return output;
}
}
}
new Vue({
el: '#app',
data: {
items: [{
value: null,
time:1
}]
},
components: {
'my-component': Child
},
// watch: {
// items: function (val, oldVal) {
// console.log(val.slice(0,val.length)[1].time, val.slice(0,val.length)[1].time)
// }
// },
methods: {
add() {
this.items.push({
value: null,
time:this.items[0].time
})
},
remove(item) {
var i = this.items.indexOf(item)
this.items.splice(i, 1)
}
}
})
</script>
</body>
</html>
你可以使用$emit与$on事件来进行兄弟组件之间的数据传输。
先添加方法
在组件里面用事件触发
例:
在获取的组件获取数据