【发布时间】:2020-09-19 19:09:26
【问题描述】:
我正在过滤两个日期之间的记录,这将显示从后端带来的数据。而不是使用在 Vuetify 的 documentation on date pickers 中找到的常规方式,例如在以下 CodePen 中:
Vuetify v-text-field Date Picker on CodePen
我只是使用v-text-field type="date" 使其更简单,如下面的代码所示:
HTML:
<template>
<v-layout align-start>
<v-flex>
<v-toolbar flat color="grey darken-4">
<v-toolbar-title>History</v-toolbar-title>
<v-divider class="mx-4" inset vertical></v-divider>
<v-spacer></v-spacer>
From:
<v-text-field type="date" class="text-xs-center ml-2 mr-4" v-model="startDate"></v-text-field>
To:
<v-text-field type="date" class="text-xs-center ml-2 mr-4" v-model="endDate"></v-text-field>
<v-btn @click="list()" color="primary" class="ml-2 mb-2">Search</v-btn>
</v-toolbar>
</v-flex>
</v-layout>
</template>
JS:
<script>
import axios from 'axios'
export default {
data(){
return{
startDate:'',
endDate:''
}
},
created () {
this.list();
},
methods:{
list(){
let me=this;
let header={"Authorization" : "Bearer " + this.$store.state.token};
let configuration= {headers : header};
let url='';
if(!me.startDate || !me.endDate){
url='api/Sales/List';
}
else{
url='api/Sales/SalesHistory/'+me.startDate+'/'+me.endDate;
}
axios.get(url,configuration).then(function(response){
me.sales=response.data;
}).catch(function(error){
console.log(error);
});
}
}
}
</script>
它让我可以过滤在两个选定日期之间发生的记录。
我偶然发现的唯一问题是,当切换到深色主题时,看起来像 append-icon(在本例中用作按钮)的默认黑色日历图标不会切换为白色,因为它在 Vuetify 文档的示例中是这样的:
我在 GitHub 上发现有人 requested 用于 在 v-text-field 中添加前置图标的颜色道具(这听起来确实很方便),但请求被标记为 wontfix,而且给出的答案对于他和我正在寻找的东西来说似乎也很糟糕。
如果我添加一个append-icon="date_range",它只会在默认的黑色日历图标旁边添加另一个图标(颜色正确),它会阻止日期选择器本身工作。我也不能添加readonly 道具(为了避免用户输入日期,它只在输入时用数字填充文本字段,但年份最多可以接受 6 个字符,而它应该只有 4 ) 因为它也会阻止日期选择器工作。
如何切换日历图标的颜色?
【问题讨论】:
标签: javascript vue.js vuetify.js vue-cli-3