В компоненте Button измените
const{onclick,className='',children}=props;
на
const{onClick,className='',children}=props;
Также кажется, что вы не установили список в состоянии, поэтому при попытке доступа к this.state.list. Фильтр выдаст ошибку.
onDismiss=(id)=>{
const deleteList=this.state.result.hits.filter(item=>item.objectID!==id);
this.setState({
result:{...this.state.result,hits:deleteList}
})
}
Существует два основных способа управления автоматически изменяет размер в зависимости от изменения размера родительского контейнера (форма в вашем случае):
Преимущество этого метода состоит в том, что он берет весь элемент управления и говорит ему всегда заполнять всю клиентскую область родительского контейнера (в вашем случае, клиентскую область Form) , Это полезно, если вы хотите сделать что-то вроде заполнения формы с помощью ListControl или TreeView или чего-то подобного. Но это не так полезно, если вы хотите масштабировать один элемент управления при использовании других элементов управления (как вы указали, это ваша потребность). В таком случае, вам нужно было бы установить свойство Dock в этих других элементах управления на DockStyle.Top или DockStyle.Bottom, чтобы они плавали выше или ниже вашего основного элемента управления изменением размера.
Это хлопотно, а также ограничивает параметры макета других элементов управления. Вы можете решить эту проблему, установив два элемента управления Panel, один сверху, а другой внизу формы. Эти панели останутся в фиксированных положениях, в то время как средняя область (с вашим элементом управления DockStyle.Fill) масштабируется с родительской формой. Затем вы можете поместить любые элементы управления в любой конфигурации макета в эти панели «верхний и нижний колонтитулы».
Этот вид составного формостроения с использованием закрепленных панелей невероятно мощный. Откровенно говоря, это было изменение игры в .NET, когда они представили это с .NET 1.0 WinForms.
Для того, что вам нужно, не связывайтесь с AutoSize или AutoSizeMode ... эти свойства управляют тем, как элемент управления изменяет размер в зависимости от его собственного содержимого, а не как его размер изменяется в зависимости от его размера. поведение контейнера. Думайте о режиме AutoSize / AutoSize как о внутреннем взгляде, в то время как Anchor / Dock смотрят наружу. Вы получаете очень странное поведение, если используете оба метода определения размера одновременно. Обычно не полезно.
Вы получаете очень странное поведение, если используете оба метода определения размера одновременно. Обычно не полезно. Вы получаете очень странное поведение, если используете оба метода определения размера одновременно. Обычно не полезно.Прикрепите ListView ко всем четырем сторонам формы, а остальные элементы управления - к 2 или менее.
В элементах управления есть свойство «Якорь» (в категории «Макет»), если для этого параметра установлено значение «Вверх». , Bottom, Left, Right "он будет поддерживать поля между элементом управления и его родительским контейнером, вызывая его изменение размера при изменении размера контейнера.
Но если активирован только один из якорей вдоль одной оси (например, «влево», но не «вправо»), он вместо этого будет перемещать элемент управления, опять же, сохраняя заблокированные поля между элементом управления и его контейнером.
: именно то, что сказал Джеймс, за исключением того, что это свойство «Якорь», а не «Док». Док похож, но не точно такой же.
ЕСЛИ вы поместили ListView в одну панель SplitContainer и поместили остальные элементы управления в другую панель, вы можете ограничить рост второй панели путем установки min и maxsize.
Если ваш ListView пристыкован к Full, тогда при изменении размера формы потребуется все увеличение.
Что делать, если в форме несколько элементов управления?
Например: если форма используется для создания некоторого результата в сетке относительно данных, введенных в несколько текстовых полей или полей со списком и т. д.; И мы хотим, чтобы они соответствующим образом изменяли размер/выравнивались и не перекрывали друг друга (как это происходит при использовании заливки стыковки), особенно с видом сетки или подобным элементом управления в контексте.