Почему labelWidth: 'auto' скрывает радиополе?

Я пытаюсь обернуть label из radiofield, но я не хочу устанавливать фиксированные width и labelWidth из-за отзывчивости представления. Но когда я устанавливаю labelWidth на авто, input element скрывается.

Я что делаю неправильно? Спасибо.

Добавьте приведенный ниже код в функцию запуска скрипта sencha и выберите в раскрывающемся списке Ext JS 6.5.3.57 - Triton [Modern].

Ext.create('Ext.Panel', {
        fullscreen: true,
        layout: {
          type: 'vbox',
          align: 'stretch',
          pack: 'start'
        },
        items: [
            {
                xtype: 'panel',
                //flex: 1,
                //height: 100,
                layout: {
                  type: 'hbox',
                  align: 'stretch',
                  pack: 'start'
                },
                items: [
                    {
                        xtype: 'radiofield',
                        flex: 3,
                        //width: '100%',
                        label: 'afglngfsdlgkdslfkjsdlfkjdslkfjdslfkjsdlfkjsdlkfjsdlkfjsdlkfjdslkfjsdlkfjsdlkfjdslkfjldskfjsldkfjlsdkfjlsdkfjlsdkfjlsdkfjlkdsjflsdkjflsdkjflsdkjflsdkjflsdkjfklslfkdfjsldfk',
                        labelAlign: 'right',
                        labelWrap: true,
                        labelWidth: 'auto',
                        style: 'word-wrap: break-word;',
                        name : 'color',
                        value: 'red',
                        checked: true
                    },
                    {
                        xtype: 'textfield',
                        flex: 1,
                        margin: '0 0 0 10'
                    }
                ]
            }
        ]
    });
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
187
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

labelWraptrue, чтобы этикетка обернулась. Если установлено значение false, метка будет усечена многоточием.

Свойство CSS word-wrap определяет, разрешено ли браузеру разрывать строку в словах, когда слово слишком длинное, чтобы поместиться в его контейнер.

Вот FIDDLE, я создал демку. Я надеюсь, что это поможет / направит вас в достижении ваших требований.

КОД СНОВА

Ext.application({
    name: 'Fiddle',

    launch: function () {
        Ext.create({
            xtype: 'panel',
            fullscreen: true,
            layout: {
                type: 'vbox',
                align: 'stretch',
                pack: 'start'
            },
            items: [{
                xtype: 'panel',
                layout: {
                    type: 'hbox',
                    align: 'stretch',
                    pack: 'start'
                },
                items: [{
                    xtype: 'radiofield',
                    flex: 3,
                    label: 'afglngfsdlgkdslfkjsdlfkjdslkfjdslfkjsdlfkjsdlkfjsdlkfjsdlkfjdslkfjsdlkfjsdlkfjdslkfjldskfjsldkfjlsdkfjlsdkfjlsdkfjlsdkfjlkdsjflsdkjflsdkjflsdkjflsdkjflsdkjfklslfkdfjsldfk',
                    labelAlign: 'right',
                    labelWidth: 'auto',
                    name: 'color',
                    value: 'red',
                    checked: true
                }, {
                    xtype: 'textfield',
                    placeHolder: 'example',
                    flex: 1,
                    margin: '0 0 0 10'
                }, {
                    xtype: 'radiofield',
                    flex: 1,
                    label: 'The word-break CSS property specifies whether or not the browser should insert line breaks wherever the text would otherwise overflow its content box.',
                    labelAlign: 'right',
                    labelWrap: true,
                    labelWidth: 'auto',
                    name: 'color',
                    value: 'red'
                }]
            }]
        });
    }
});

Вы пробовали свой код с использованием Ext JS 6.5.3.57 - Triton [Modern]? Вы увидите, что фактический элемент ввода скрыт. Очевидно, это еще одна ошибка сенчи.

Zoti 14.03.2018 12:37

Да, я видел с ExtJS 6.5.x. Вход скрыт, когда мы устанавливаем labelWidth: 'auto'. Так что это может быть фреймворк или нужно проверить детали. В настоящее время какая версия используется?

Narendra Jadhav 14.03.2018 13:00

последний. 6.5.3.57.

Zoti 14.03.2018 13:02

если вы установите его в процентах, он работает, например, labelWidth: '95%'. Но это выглядит не очень хорошо.

Zoti 14.03.2018 13:05

Да, я пробовал в своем рабочий пример. если я посмотрю, это тоже хорошо. Можете ли вы предоставить снимок экрана, где, по вашему мнению, выглядит не очень хорошо?

Narendra Jadhav 14.03.2018 13:11

это зависит от устройства. если вы используете инструменты разработчика в google chrome, проверьте это с помощью nexus 7. Когда вы устанавливаете его в процентах, пространство, занимаемое меткой, зависит от ширины устройства.

Zoti 14.03.2018 13:16

Хорошо, попробуйте этот labelWidth: 'calc(100% - 22px)', Пожалуйста, обратитесь к этому FIDDLE

Narendra Jadhav 14.03.2018 13:46

Я попробую и дам тебе знать. Спасибо, Нерендра.

Zoti 14.03.2018 14:13

Конечно, надеюсь, это вам поможет :)

Narendra Jadhav 14.03.2018 14:17

ваше исправление labelWidth: 'calc(100% - 22px)' сработало. пожалуйста, обновите свой ответ.

Zoti 14.03.2018 16:21

Другие вопросы по теме