Я изо всех сил пытаюсь удалить стрелку раскрывающегося списка рядом с именами столбцов «Имя», «Дата», «Создатель» ... Стрелка раскрывающегося списка отображается в i-Tag, и если я отредактирую html через Chrome и добавлю display: none, он будет удален ...
однако я не могу получить доступ к тегу i или значку класса v через CSS в коде. Вероятно, потому что он не создается до процесса рендеринга.
Есть ли другой способ убрать стрелку раскрывающегося списка?
Заранее спасибо!
Html моей таблицы под названием "список файлов":
Отличная идея, спасибо! Вот и убрали стрелки. Но я против сортировки :(
См. этот ответ, чтобы понять, почему вы не можете настроить таргетинг на него, и как на самом деле это сделать.
Это правильно, только если @ J.Wu использует стиль ограниченный
@NatiMask Скорее всего, они используют ограниченный стиль, потому что OP сказал however I am unable to access the i tag or the class v-icon via css in the code. Probably because it is not created before the rendering process., это указывает мне, что они знают, как на самом деле настроить таргетинг через CSS, но что-то не работает. И даже если они не используют стили с ограниченной областью видимости, учитываются другие вещи, такие как специфичность. Этого должно быть достаточно, чтобы правильно настроить таргетинг на любой элемент. Если что-то неясно или непонятно, обратная связь приветствуется (там).
Отлично, отредактировано и упомянуто в ответе






Во-первых, я почти уверен, что вы можете получить доступ к этому тегу значка <i> с помощью css, потому что тот факт, что какой-то элемент создается динамически, не предотвращает его влияние на ваш css.
Конечно, ваш css может получить отвергнутый из-за Vuetify css, в соответствии с правилами специфичность. Я бы предложил начать с добавления свойства class к <v-data-table>, чтобы вы могли указать CSS для тега примерно так:
.my-datatable-class .datatable thead th.column.sortable i {
display: none;
}
Другое дело, если вы используете стиль с областью видимости, это и многое другое о специфичности css рассматривается здесь, спасибо @Traxo
Другой вариант - реализовать весь раздел заголовка таблицы данных самостоятельно, что разрешено Vuetify с использованием слоты с ограниченным объемом. Пример того, как это сделать, находится в Примеры, ищите Слот: предметы и заголовки и там в коде шаблона вы можете увидеть <v-icon small>arrow_upward</v-icon>. вещь, просто реализуйте заголовки, опуская это, и вы идете без css, добавляя что-то подобное в свой <v-data-table>:
<template slot = "headers" slot-scope = "props">
<tr>
<th
v-for = "header in props.headers"
:key = "header.text"
:class = "['column sortable', pagination.descending ? 'desc' : 'asc', header.value === pagination.sortBy ? 'active' : '']"
@click = "changeSort(header.value)"
>
{{ header.text }}
</th>
</tr>
</template>
Нет такого слова, как «отвергнутый». Это "отменено".
Нет необходимости писать какой-либо собственный CSS. Просто можно использовать предоставленное свойство vuetify
sort-icon
Достаточно указать значение sort-icon как false. Он скроет значок сортировки всех столбцов, поскольку я вижу, что это то, что вам нужно.
<v-data-table
:headers = "headers"
:items = "items"
:sort-icon = "false"
>
Этот метод был удален. Теперь вам следует использовать header-props, как показано в моем ответе: stackoverflow.com/a/62027761/1196465
@DavidGay В версии, которую я тестировал, она работала нормально. Это был bootstrap: «4.4.1», «bootstrap-vue»: «2.9.0». Спасибо, что указали.
Не беспокойтесь, я думаю, вы могли запутаться: этот вопрос касается Vuetify (vuetifyjs.com), а не BootstrapVue, который представляет собой другую компонентную структуру (bootstrap-vue.org).
Ой, плохо. Мой ответ был от vuetify. Но по ошибке мой комментарий из bootstrap-vue. Я работаю с обоими и по ошибке поменял их местами в комментарии. : D И для vuetify я имел в виду 1.5.x, и, похоже, он был удален в vuetify 2.
Лучший способ скрыть значок сортировки - через header-props. Например:
<v-data-table
:headers = "headers"
:items = "items"
:header-props = "{ sortIcon: null }"
>
используйте опцию sortable false для необходимых столбцов
бывший-:
headers: [{ text: 'Name', value: 'name', sortable: false },
{ text: 'Date', value: 'date', sortable: false }]
Если вы не против сортировки, добавьте
sortable: falseк вашим элементамheaders:headers: [ { text: 'ID', value: 'Id', sortable: false }, . . . ]